简体   繁体   English

Rancher性能(Docker中的Docker?)

[英]Rancher Performance (Docker in Docker?)

Looking at Rancher, what is the performance like? 看着Rancher,表现如何? I guess my main question, is everything deployed in Rancher docker in docker? 我想我的主要问题是,是否在Docker中的Rancher docker中部署了所有内容? After reading http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/ I trying to stay away from that idea. 在阅读http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/之后,我试图摆脱这个想法。 It looks like the Rancher CI pipeline with Docker/Jenkins is docker in docker, but what about the rest? 看起来带有Docker / Jenkins的Rancher CI管道是docker中的docker,但是其余的呢? If i setup a docker-compose or deploy something from their catalog, is it all docker in docker? 如果我设置了docker-compose或从其目录中部署了某些东西,那么docker中是否全部都是docker? I've read through their documentation and this simple question has still just flown over my head. 我已经阅读了他们的文档,但这个简单的问题仍然浮现在脑海。 Any guidance would be much appreciated. 任何指导将不胜感激。

Thank you 谢谢

Rancher itself is not deployed with Docker in Docker (DinD). Rancher本身未与Docker(DinD)中的Docker一起部署。 The main components of Rancher, rancher/server and rancher/agent are both normal containers. Rancher,Rancher / Server和Rancher / Agent的主要组件都是普通容器。 The server, in a normal deployment, runs the orchestration piece and a few other key services for the catalog, Docker Machine provisioning, websocket-proxy and MySQL. 在正常部署中,服务器为目录,Docker Machine设置,websocket-proxy和MySQL运行编排程序和其他一些关键服务。 All of these can be broken out if desired, but for simplicity of getting started, its all in one. 如果需要的话,可以将所有这些方法分解,但是为了简单起步,这一切都是一体的。 We use s6 to manage the orchestration and database processes. 我们使用s6来管理业务流程和数据库过程。

The rancher/agent container is privileged and requires the user to bind mount the hosts Docker socket. rancher / agent容器具有特权,并且要求用户绑定安装主机Docker套接字。 We package a Docker binary in the container and use it to communicate with the host on startup. 我们将Docker二进制文件打包在容器中,并在启动时使用它与主机进行通信。 It is similar to the way a Mac talks to Boot2docker, the binary is just a client talking to a remote Docker daemon. 类似于Mac与Boot2docker对话的方式,二进制文件只是与远程Docker守护进程对话的客户端。 Once the agent is bootstrapped, it communicates back to the Rancher server container over a websocket connection. 引导程序启动后,它会通过Websocket连接与Rancher服务器容器通信。 When containers and stacks are deployed Rancher server sends events to the agents which then call the hosts Docker daemon for deployment. 部署容器和堆栈后,Rancher服务器会将事件发送到代理,代理再调用主机 Docker守护程序进行部署。 The deployed containers are running as normal Docker containers on the host, just as if the user typed docker run ... . 部署的容器在主机上像普通Docker容器一样运行,就像用户键入docker run ... In fact, a neat feature of Rancher is that if you do type docker run ... on the host, the resulting container will show up in the Rancher UI. 实际上,Rancher的一个巧妙功能是,如果您在主机上键入docker run ... ,则生成的容器将显示在Rancher UI中。

The Jenkins entry in the Rancher catalog, when using the Swarm plugin is doing a host bind mount of the Docker socket as well. 使用Swarm插件时,Rancher目录中的Jenkins条目也正在对Docker套接字进行主机绑定安装。 We have some early experiments that used DinD to test out some concepts with Jenkins, but those were not released. 我们有一些早期的实验,这些实验使用DinD来测试Jenkins的某些概念,但尚未发布。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM