牧场主性能(Docker中的Docker?)

看着牧场主,performance如何? 我想我的主要问题,是在牧民docker泊于泊坞deployed部署的一切? 在阅读http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/我试图远离这个想法。 看起来像Docker / Jenkins的Rancher CIpipe道是Docker中的docker工人,但其余的呢? 如果我设置一个docker – 撰写或从他们的目录中部署的东西,是泊坞窗docker? 我已经阅读了他们的文档,这个简单的问题仍然在我头上飞。 任何指导将不胜感激。

谢谢

Rancher本身没有在Docker(DinD)中部署Docker。 Rancher,rancher / server和rancher / agent的主要组件都是普通的容器。 在正常的部署中,服务器运行编目和一些其他的关键服务,如目录,Docker Machine provisioning,websocket-proxy和MySQL。 如果需要,所有这些都可以分解出来,但是为了简化入门,它是一体化的。 我们使用s6来pipe理编排和数据库进程。

牧场主/代理容器有特权,并要求用户绑定挂接主机的Docker套接字。 我们在容器中封装Docker二进制文件,并使用它在启动时与主机进行通信。 这与Mac与Boot2docker交谈的方式类似,二进制只是一个客户端与远程Docker守护进程交谈。 代理启动后,它会通过websocket连接回到Rancher服务器容器。 当部署容器和堆栈时,Rancher服务器将事件发送给代理,然后调用主机 Docker守护程序进行部署。 部署的容器像主机上的普通Docker容器一样运行,就像用户键入的docker run ... 。 实际上,Rancher的一个很好的function是,如果你在主机上键入docker run ... ,那么最终的容器将显示在Rancher UI中。

当使用Swarm插件时,Rancher目录中的Jenkins条目也在执行Docker套接字的主机绑定挂载。 我们有一些早期的实验,使用DinD来testingJenkins的一些概念,但是那些没有发布。