使用Ansible而不是Dockerfile设置Docker容器有什么好处?

前端之家收集整理的这篇文章主要介绍了使用Ansible而不是Dockerfile设置Docker容器有什么好处? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我目前正在研究两种配置Docker容器的替代方法.容器当前为managed with Ansible.

方法1:编写一个Dockerfile

通常,我会根据自己的需要编写一个Dockerfile,构建一个映像,然后使用该映像启动一个容器.

方法2:使用Ansible

>编写一个最小的Dockerfile来设置SSH访问
>运用相关角色从控制机器为容器提供Ansible
>构建Docker映像

快速比较

使用第二种方法,无论Docker如何,我都可以在其他上下文中重用角色.例如,我可以将它们应用于EC2实例或内部托管的裸机服务器.

一个巨大的损失似乎是Docker的“分层”,而倾向于(可以说)更强大的(Ansible模块,幂等,通常没有bash脚本编写)供应经验.

我相信还有更多我没有考虑的东西.

方法2的情况下,(更传统的)方法1我缺少什么?还有其他更好的方法可以解决涉及Ansible和Docker的问题吗?

PS:与这个问题并不严格相关,但也许值得一提:我想使用Vagrant管理涉及这些Docker容器的开发环境.

更新#1

方法3:Packer Ansible

将Packer与Docker Builder和Ansible Provisioner结合使用(请参阅@polarisuser答案)

我认为这可以视为方法2的改进.

最佳答案
您可能要查看的第三个选项是使用Packer创建图像.我目前正在使用Packer,我非常喜欢它.

我要做的是使用Packer拉出所需的docker映像,然后在配置步骤中,使用Chef将我的映像置于所需的状态.您可以使用Ansible做同样的事情.

猜你在找的Docker相关文章