我正在尝试使用Docker(1.9.1)的Varnish 4.1。 我使用musl-libc在Alpine Linux 3.2中构build了一个docker镜像,以减less镜像大小。 Dockerfile: FROM alpine:3.2 RUN echo 'http://dl-4.alpinelinux.org/alpine/v3.3/main' >> /etc/apk/repositories && \ apk update && apk upgrade -U -a && \ apk add –update varnish \ && rm -rf /var/cache/apk/* Add Comment 当我尝试在容器内部运行时,有时会出现段错误,但有时候我不会: # varnishd -F -W epoll -f /etc/varnish/default.vcl child (4081) Started Pushing vcls failed: CLI communication error (hdr) Stopping […]
回滚到Linux上已部署的企业应用程序的最佳做法是什么? 考虑这种情况,我们有一个应用程序服务器 (假设它是由gunicorn服务的django),一个数据服务器 (mysql)和一个任务服务器 (芹菜)。 我已经部署到不同的服务器。 源代码由gitlabpipe理。 在进行更新时,发生了一些错误,需要回滚。 主要有两种途径: 首先在django中使用migrate命令来回滚数据服务器的状态; 其次在应用程序服务器和任务服务器上 ,在更新之前备份源代码,以及在回滚时备份备份。 在更新之前closures所有服务器并创build服务器的快照。 当我们需要回滚时恢复到快照。 方法2当然更安全。 但成本昂贵。 由于情况正在为企业开发应用程序,所以我不太确定Docker是否可以接受。 我担心的是数据服务器的回滚,因为表结构可能会改变,并且里面有真实的数据。 如果我们使用docker,我不太确定如何处理数据服务器,是否需要一个映像?
我有一个简单的Docker镜像基于Ubuntu 15.10只是运行bash。 图像是1.2GB左右。 它启动得非常快,但是当我尝试在退出后取出容器时,总是需要大约6秒钟的时间: $ time ( echo "exit" | sudo docker run -i media-toolkit ) real 0m0.626s user 0m0.028s sys 0m0.004s $ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 64d87dfddd60 media-toolkit "/bin/sh -c bash" 11 seconds ago Exited (0) 11 seconds ago backstabbing_darwin $ time sudo docker rm 64d87dfddd60 […]
如何正确地将VT-X通过物理硬件传播到通过Xenconfiguration的服务器中,以便虚拟化的Docker可以在虚拟Windows服务器内部运行? L0是在CentOS内运行的Xen。 L1是在Xen内的Windows Server 2012内运行的Virtual Box。 (理论上)L1正在运行在TinyCore上运行的Boot2docker,运行在运行在CentOS内的Xen内运行的Windows Server 2012 R2内部的VirtualBox中。 Boot2Docker需要启用VT-X,并且L0设置不会通过L1传播,因此可以使L2可用。 [编辑] 我的服务器configuration小组的成员刚刚告诉我,xenserver不支持通过Windows Server虚拟实例进行嵌套虚拟化,而且嵌套虚拟化仅适用于Linux虚拟服务器。 任何人都可以证实或驳斥这一点? 一点背景 :我有我们的服务器供应团队产生一个新的虚拟Windows服务器为我开发反对。 我试图初步configuration这个东西作为我的来源,实验室,开发,构build和CI环境的单层,以及我的内部WWW服务器(IIS)的服务主机应用程序出来的发展。 我所需的configuration依赖于Linux docker容器,这是我遇到问题的地方。 当我启动我的Docker机器时,我收到了虚拟化错误 (default) This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory 当我在不同的物理开发箱上安装Docker Machine时,我刚进入BIOS,启用了硬件虚拟化,并随我的生活而移动。 现在我想通过虚拟服务器运行Docker Machine,我需要find一种方法将硬件CPU的VT-X设置传播到通过Xenconfiguration的服务器的虚拟CPU中。 这可能吗?
spark-submit似乎需要与远程Spark群集进行双向通信才能运行作业。 这很容易在机器之间进行configuration(10.xxx到10.xxx和后面),但是当Docker添加一个额外的networking层(172.xxx到10.xxx到10.xxx,然后回到172.xxx到10 .xxx以某种方式)。 Spark为其客户端的SPARK_LOCAL_IP和SPARK_LOCAL_HOSTNAMEconfiguration参数增加了一层额外的复杂性。 如何configurationDockernetworking来允许这个?
我试图围绕着Docker和周围的各种工具。 而对我来说一个常见的问题是,如果我的虚拟机重新启动,他们可能会结束与不同的IP地址。 例如,VirtualBox在本地运行时执行此操作,Azure在修补VM时执行此操作。 那么如何在docker环境中处理这个问题呢? 例如, https://docs.docker.com/engine/userguide/networking/get-started-overlay/ $ docker-machine create \ -d virtualbox \ –swarm –swarm-master \ –swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" \ –engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500"\ –engine-opt="cluster-advertise=eth1:2376" \ mhs-demo0 在这种情况下,他们将服务发现指向一个固定IP,即mh-keystore机器的IP。 如果我的虚拟机重新启动,并且IP被刷新,这个设置将会失败,因为它最终可能指向一个完全不同的机器。 所以对于一个真正不习惯操作方面的开发者来说, 我在这里最好的投注是什么? 使用DNS名称? 强制机器有静态IP? (不知道这是否是每个环境中的一个选项) 当机器重新启动时,有一个相关的问题,Docker有时最终没有启动,抱怨由于IP已经改变,证书不同步。 运行Docker-machine regenerate-certs ….解决了这个问题。 但我的印象是,docker总体上玩刷新IP地址严重。 任何指针,也将受到欢迎。
我们在付款领域,我们在Docker中为了开发环境的目的而构build了很多我们的stream程。 现在,我们正考虑将Xen(HVM)场中的生产环境转换为Docker / LXC环境,以使两个环境保持同步。 有谁知道Docker如何影响PCI合规性? 我search了网页,但是找不到任何答案。 QSA似乎也很难在这个问题上,因为它是如此新。 任何人对此有任何意见?
我有一个rackspace docker-machine设置,我需要从1.9升级到1.10。 使用docker机升级命令说,它升级机器,但docker机ls仍然显示1.9。 如果我启动一个新的rackspacedocker机,它正确显示在1.10。 有谁知道如何正确升级rackspace驱动docker机? 这是我目前的docker工具集版本信息: $ docker -v Docker version 1.10.3, build 20f81dd $ docker-machine -v docker-machine version 0.6.0, build e27fb87 $ docker-compose -v docker-compose version 1.6.2, build 4d72027
我有一个容器,我想杀死一个用来启动容器的进程。 Dockerfile的最后一行是CMD ["python", "app.py"] 我这样做,而不是只停止容器的原因是,我想杀死进程, exec bash进入容器,更改一些文件,然后再次启动该过程。 如果我杀了整个容器,那么我就没有办法打开并更改文件。 如果有更好的方法来实现我以后的话,我更喜欢那个。 我是docker工人,所以我可能会错过一些东西。 这是我所做的,这是行不通的。 ➜ $ docker top mycontainer UID PID PPID C STIME TTY TIME CMD root 1447 1226 0 01:21 ? 00:00:04 python app.py ➜ $ docker exec -it mycontainer ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.5 […]
我刚刚安装了一个带有docker-daemon的Ubuntu机器,并且能够运行docker容器,之后我安装了docker-machine并configuration了一个docker2boot的ESX机器,并在运行docker docker-machine ls时看到了这个主机。 但是,问题是我只能看到ESX的docker主机,并且当我运行这个命令docker-machine ls时,没有列出本地的docker-daemon。 所以现在我的问题是,如何将我的本地docker-daemon添加到docker-machine,所以当我运行docker-machine ls ,我可以看到我的本地守护程序为默认docker引擎?