docker非常适合在任何地方运行,但是托管码头的机器呢?

时间:2017-05-10 18:52:55

标签: docker deployment

我想知道我们如何使主机码头的机器易于更换。我希望像Dockerfile这样的内容包含有关如何设置将托管docker的机器的说明。有没有办法做到这一点?

天真的解决方案是创建一个官方的#docker主机"要在新机器上安装二进制映像,但是我希望有一些像dockerfile一样可重现且透明的东西?

看起来像Vagrant,Puppet或Chef这样的工具可能很有用,但它们似乎是用于虚拟机采购的,而且它们似乎都需要设置某种主节点"服务器。我不会经常旋转和拆卸,所以主服务器是浪费服务器,我只想要在我需要设置或更换新机器的情况下可重现的东西。

3 个答案:

答案 0 :(得分:0)

这基本上是docker-machine为你做的https://docs.docker.com/machine/overview/

和其他“业务流程”系统将使这种自动化和更容易,以及

答案 1 :(得分:0)

有很多解决方案,没有真正适合所有答案的解决方案。

Chef和Puppet是流行的配置管理工具,通常使用集中式服务器。 Ansible是另一个选项,通常在没有服务器的情况下运行,只需与ssh连接即可配置主机。所有这三个都非常相似,所以如果您只关心管理CM服务器,Ansible可能是您的最佳选择。

对于VM来说,Vagrant是典型的解决方案,它可以与Ansible等其他工具结合使用,在创建VM后进行配置。

在云端,Terraform等工具或CloudFormation等供应商专用工具。

Docker正在开发一个名为Infrakit的项目,以便按照组合部署容器的方式部署基础架构。它包括上述几种工具的钩子,包括Terraform和Vagrant。根据您的要求,这可能有点过分。

最后,为了设计VM映像,Docker最近开源了他们的Moby项目,该项目创建了包含最小容器操作系统的VM映像,在Docker for Windows,Docker for Mac和可能的一些云中使用了相同的操作系统。提供者。

答案 2 :(得分:0)

我们使用Ansible + Jenkins在主机上自动安装Docker。鉴于SSH访问权限,配置新的Docker主机是触发Jenkins工作的问题。