Docker容器和Ansible Playbook之间有什么区别?

在我看来,这两个工具都用于轻松安装和自动configuration应用程序。

不过,我有限地使用了Docker,并没有使用Ansible。 所以我有点困惑。

每当我search这两种技术之间的比较时,我会发现如何组合使用这些技术的细节。

大多数文章谈论使用它们的原因有很多。

把Ansible当成安装和configuration机器的一种方式,你可以回过头去调整将来安装和configuration的任何一个步骤。 然后,您可以将这个概念扩展到许多机器,就像您能够pipe理的那样。

Ansible具有优势的一个关键区别在于,它不仅可以pipe理机器的内部,还可以pipe理机器周围的其他系统,如networking,DNS,监控等。

通过Ansible构build出许多机器需要花费相当多的时间来完成50台机器,因为所有50台机器都将被逐步创build。 如果您在多个环境中进行滚动部署,则需要一步一步地完成,这需要时间。

现在想起Docker已经构build了一台单独的机器 – 安装和configuration好了,随时可以在docker系统可用的地方部署(现在几乎到处都是)。 这里的缺点是你不能pipe理所有其他方面需要做的docker集装箱实际工作,长期调整是没有那么好玩,因为它听起来如果你没有自动configuration(因此Ansible在这里帮助)。

一旦已经创build了初始图像,从1到50个Docker机器进行缩放,与Ansible所采用的逐步方法相比,速度非常快,这在以小型组滚动部署许多机器时最为明显。

每个人都有能力或速度的缺点。 结合他们两个然而,它可以是非常棒的。 毫无疑问,对于大多数已经阅读过的文章,我build议您查看使用Ansible来创build(和更新)您的基本Docker容器,然后使用Ansible来pipe理您需要的任何容器规模你的应用程序使用

他们是完全不同的东西。 Ansible用于自动configuration和pipe理机器/容器Docker是一个Linux的轻量级容器系统。

http://www.ansible.com/home

https://www.docker.com/