docker是伟大的任何地方运行,但如何机器主机docker?
我想知道我们如何使主机docker的机器易于更换。 我Dockerfile
,其中包含有关如何设置将托pipe泊坞窗的机器的说明。 有没有办法做到这一点?
天真的解决scheme是创build一个官方的“docker主机”二进制映像安装在新机器上,但我想有一些像dockerfile一样可重复和透明的东西?
似乎像stream浪者,木偶或厨师这样的工具可能是有用的,但他们似乎是虚拟机采购,他们似乎都需要设置某种“主节点”服务器。 我不会经常跳转和拆卸,所以主服务器是一个服务器的浪费,我只是想要一些可重现的事情,我需要设置或更换新的机器。
这基本上是docker-machine
为你做的https://docs.docker.com/machine/overview/
和其他的“编排”系统也将使这个自动化和更容易
有很多的解决scheme,没有真正的一个尺寸适合所有的答案。
Chef和Puppet是stream行的configurationpipe理工具,通常使用中央服务器。 Ansible是另一种通常在没有服务器的情况下运行的选项,只需连接到ssh来configuration主机。 所有这三个工作非常相似,所以如果你的关注只是pipe理CM服务器,Ansible可能是你最好的select。
对于VM的Vagrant是典型的解决scheme,它可以与其他工具如Ansible结合在一起创build虚拟机。
在云空间中,有像Terraform这样的工具或像CloudFormation这样的供应商特定的工具。
Docker正在开发一个名为Infrakit的项目,以构build部署容器的方式部署基础架构。 它包括几个上述工具的钩子,包括Terraform和Vagrant。 对于你自己的要求,这可能是矫枉过正。
最后,为了devise虚拟机映像,Docker最近开源了他们的Moby项目,该项目创build了包含最小容器操作系统的虚拟机镜像,这与Docker for Windows,Docker for Mac以及可能的一些云计算提供者的封面一样。
我们使用Ansible + Jenkins自动化主机上的Docker安装。 鉴于适当的SSH访问,configuration新的Docker主机是触发Jenkins工作的一个问题。