我目前正在研究两种用于配置Docker容器的替代方法。容器目前使用Ansible进行管理。
Dockerfile
通常,我会Dockerfile
根据自己的需要编写一个,构建一个映像,然后使用该映像启动一个容器。
Dockerfile
设置SSH访问的最低要求通过第二种方法,无论Docker如何,我都可以在其他上下文中重用角色。例如,我可以将它们应用于EC2实例或内部托管的裸机服务器。
一个巨大的损失似乎是Docker的“分层”,而倾向于(可以说)更强大的(Ansible模块,幂等,通常没有bash脚本编写)供应经验。
我相信还有更多我没有考虑的东西。
在方法2的情况下,(较传统的)方法1我会缺少什么?还有其他更好的方法来解决涉及Ansible和Docker的问题吗?
PS:与这个问题并不严格相关,但也许值得一提:我想使用Vagrant管理涉及这些Docker容器的开发环境。
更新#1
将Packer与Docker Builder和Ansible Provisioner结合使用(请参阅@polarisuser答案)
我认为这可以视为方法2的改进。
您可能要查看的第三个选项是使用Packer创建图像。我目前正在使用Packer,我真的很喜欢。
我要做的是使用Packer拉出所需的docker映像,然后在供应步骤中,使用Chef将我的映像置于所需的状态。您可以使用Ansible做同样的事情。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句