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工作的一个问题。