我无法在任何地方find确切的答案(很多矛盾的信息,而且很一般)。 使用MS Windows Server 2016的新版本,将有可能以两种模式运行容器: Windows容器 Hyper-V容器 第一个(Windows容器)是一个经典的容器,共享相同的MS Windows服务器内核,不是很安全。 然而,第二个(hyper-v容器)使用虚拟机pipe理程序来提供隔离和安全性。 Windows 10周年正式发布几个月前,微软已经将“Windows子系统Linux版”包含在内。 使用Hyper-V容器技术可以运行Linux(Ubuntu,Debian,CoreOS等)容器吗? 我到处search,但找不到用于Hyper-V容器的Linux容器映像。 只有两个可以find的是微软提供的Nano Server和Windows Server 2016。 现在,使用Windows Server 2016的技术预览版5(TP5),几天前Ignite会议上宣布即将推出通用可用性(GA)。 有人得到消息吗? 能够validation?
使用CoreOS,Docker和systemd来pipe理我的服务我想正确执行服务发现。 由于CoreOS使用etcd(分布式键值),因此有一个非常方便的方法来做到这一点。 在systemd的ExecStartPost上,我可以将启动的服务插入到etcd中而没有问题。 我的用例需要这样的东西: ExecStartPost=/usr/bin/etcdctl set /services/myServiceName '{ \"host\": \"%H\", \"port\": 5555 }' 它像一个魅力。 但这是我的想法popup的地方。 如果我只是运行docker run -p 5555 ,Docker有权随机分配一个端口,因为我不必在* .service文件中静态设置它,而且我可以在同一台主机上运行多个实例。 如果我可以得到随机分配的端口,而不是静态5555 ? 原来,我可以使用docker port命令来获取端口,并使用一些格式,我们可以得到端口 $(echo $(/usr/bin/docker port my-container-name 5555) | cut -d':' -f2) 如果我设置它(使用bash),如下所示: /usr/bin/etcdctl set /services/myServiceName '{ \"host\": \"%H\", \"port\": '$(echo $(/usr/bin/docker port my-container-name 5555) | cut -d':' -f2)' }' 但使用systemd我只是不能得到它的工作。 这是我正在使用的代码: ExecStartPost=/usr/bin/etcdctl […]
问题: 在非docker解决scheme中,SSL证书可以位于/etc/pki/CA/ ….以及在/etc/httpd/conf.d/*.conf文件中对这些文件的引用。 在一个安全的apache httpd服务器的docker镜像中如何pipe理/放置/使用这些SSL证书,而不是作为docker镜像的一部分? 目标: 使用提供的SSL证书为安全的apache httpd服务器创build一个docker映像。 想法如何解决这个问题: Docker卷可以通过使用docker run -v /HOST/SSL/PATH:/CONTAINER/SSL/PATH将证书从主机挂载到映像来解决这个问题,然后可以在映像中引用它。 这是要走的路吗,还是可以用另一种方式来解决这个问题呢?
所以我build立了两个Ubuntu AWS实例(一个小的t2.medium和一个大的r3.large)。 t2.medium上安装了Jenkins CI,r3.large上安装了docker引擎。 这里的意图是有一个主(t2.medium)服务器和一个从(r3.large)服务器; 主服务器可以委托docker集装箱作业(根据需要旋转jenkinsdocker集装箱)。 我的问题是,我有点比这个我的头。 我一直在研究,但是我所做的几乎所有事情都是失败的。 我现在的情况是:就像我上面提到的,我有jenkins成功运行在一个实例,docker引擎成功运行在另一个。 我也有在这里find的docker插件,安装在jenkins上,我已经按照页面上的说明操作。 但是,当我添加一个云和添加凭证时,唯一显示的是“-none-”; 然而,相同的证书显示在底部。 这是我正在谈论的一个截图: 这个问题是,每次我testing连接时,我得到以下错误: shaded.org.apache.http.conn.HttpHostConnectException: Connect to 10.96.24.240:4243 [/10.96.24.240] failed: Connection refused 。 任何帮助将非常感激! 我已经去了一个多星期了! 而我只是无法把这个包裹起来。 编辑:如果我以错误的方式去做,请指导我如何实现预期的设置。 编辑2:所有端口之间打开这两个实例。 以下是安全组的屏幕截图: 编辑3:这是我的docker图片: ubuntu@ip-10-96-24-240:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ubuntu@ip-10-96-24-240:~$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE jenkins-1 latest 9de6ee8eeebc 3 […]
我一直在使用泊坞窗的一些我的应用程序。 我已经到了关于十几个docker文件的地步了。 通常我必须做出相同的改变,或者在一些dockerfiles中包含一些东西 – 这意味着我必须在多个地方进行相同的更改。 可能解决这个问题的方法是使用支持包含文件和variables的预处理器。 这样,我可以在同一个文件中有共同的东西(例如,包括monit和supervisor的一堆东西),并将这些文件包含在我的Dockerfile中。 Docker构build本身不包含和可变replace,所以也许预处理器将解决这个问题? 我知道,CSS有一堆预处理器,那么是否有一个通用的预处理器或将采取一个YAML或JSON文件,并写下一些Docker将理解的东西?
我只find有关如何运行容器并同时安装一个卷的说明: $ sudo docker run -d -P –name web -v /src/webapp:/opt/webapp training/webapp python app.py 从用户指南采取。 但是我不知道一旦容器运行就运行命令。
我有兴趣在我的服务器上为我的Web客户端使用Docker的完整概念。 理想情况下,我很乐意创build一个与Apache,PHP,MySQL,电子邮件服务器,DNS服务器,Redis的,memcached,imagemagick,和更多的docker,并在那里我可以简单地启动到客户端的新服务器,并在几分钟内。 我在这里看到了这个Apcache Docker https://hub.docker.com/r/eboraas/apache-php/ 它说: 这是一个包含SSL和PHP5支持的Apache映像。 为了有效地使用这个图片,你需要挂载: / var / www /您的网站内容(例如使用“-v / home / jdoe / mysite /:/ var / www /”)/ var / log / apache2,可选地,如果要将日志文件明显地存储在容器外/ etc / ssl(可选),如果你想使用真正的密钥SSL 更具体地说: 装载/ var / www为您的网站内容 如果我理解正确,这是为了允许外部文件夹/网站的文件在Docker镜像之外的服务器上存在,以便Docker基本上只是处理实际的服务器软件? 还有一些问题: 像Apache Virtualhostlogging添加域存在于泊坞窗图像或外面的服务器,是可编辑的?
我尝试了所有可能的组合,尝试在AWS环境中对rabbitmq进行群集。 但要回顾一下: closures并删除我的本地Ubuntu 14上的erlang和rabbit发行版 尝试了networking上的自动configuration模块 默认安装的ubuntu 14版本将不会削减它。 erlang cookie匹配 – 这在下面演示 主机名称不匹配是唯一的难题。 节点本身认为它的主机名分别是“q1”或“q2”。 当我尝试将容器的主机名设置为主机的私有DNS名称(因此它可以连接到其他节点)容器中的兔子实例崩溃。 不低于如何hostname生产q2但我炮轰到亚马逊的私人dns? root@q2:~# hostname q2 root@q2:~# exit christian@q2:~$ logout Connection to ip-10-0-3-101.us-west-2.compute.internal closed. 我正在使用最新的rabbitmq docker镜像。 docker run -d –restart always –hostname q1 –name rabbitmq -p 4369:4369 -p 15671:15671 -p 25672:25672 -p 15672:15672 -p 5672:5672 -e RABBITMQ_HIPE_COMPILE=1 -e RABBITMQ_ERLANG_COOKIE='ilikecookies' rabbitmq:3-management 服务启动得很好 root@q1:~# curl […]
我想在docker容器中的ubuntu 14.04上安装mongodb,在我的Dockerfile中使用官方mongodb指南中的以下步骤: RUN sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 7F0CEB10 RUN echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list RUN apt-get update && apt-get -q -y install \ nodejs\ npm \ git \ mongodb-org 这些命令在我的主机ubuntu系统上正确安装mongodb,但不是在docker中。 在我的docker镜像中,/etc/init.d/mongod不存在。 运行“docker build”时会打印以下错误: invoke-rc.d: unknown initscript, /etc/init.d/mongod not found. invoke-rc.d: policy-rc.d denied execution of start.
我正在和领class(学习工头和docker工人)一起玩,想尝试docker的方法。 使用docker集线器的官方集装箱 在任何地方都找不到docker文件。 当我从容器中启动容器时,如何找出执行哪个文件? 我问的原因是我希望容器使用主机的两个networking接口,一个用于Web-UI,另一个用于在单独的专用networking上分配DHCP和DNS。 如果我用'bash'执行容器,我可以通过我的dns和dhcp代理networking的configuration选项,但是我失去了所有其他的好处,即SSL证书,pipe理员证书,…