我目前正在研究提供Docker容器的两种替代方法。容器目前是managed with Ansible。
Dockerfile
通常情况下,我会根据自己的需要编写Dockerfile
,构建图像,然后使用该图像旋转容器。
Dockerfile
使用第二种方法,无论Docker如何,我都可以在其他上下文中重用角色。例如,我可以将它们应用于EC2实例或内部托管的裸机服务器。
一个重要的损失似乎是Docker"分层",支持(可以说)更强大(Ansible模块,幂等,通常没有bash脚本)配置体验。
我相信还有更多我没有考虑过。
在方法2的情况下,我(一个更传统的)方法1缺少什么?有没有其他更好的方法解决这个问题涉及Ansible和Docker?
PS:与问题没有严格的关系,但也许值得一提:我想用Vagrant管理涉及这些Docker容器的开发环境。更新#1
将Packer与Docker构建器和Ansible配置器一起使用(请参阅@polarisuser答案)
在我看来,这可以看作是方法2的改进。
答案 0 :(得分:2)
您可能希望查看的第三个选项是使用Packer创建图像。我目前正在使用Packer,我非常喜欢它。
我的工作是使用Packer来提取我想要的泊坞窗图像,然后在配置步骤中,我使用Chef将图像置于所需状态。你可以用Ansible做同样的事情。