使用Ansible而不是Dockerfile设置Docker容器有什么好处?
我目前正在研究两种配置Docker容器的替代方法.容器当前为managed with Ansible. 方法1:编写一个Dockerfile 通常,我会根据自己的需要编写一个Dockerfile,构建一个映像,然后使用该映像启动一个容器. 方法2:使用Ansible >编写一个最小的Dockerfile来设置SSH访问 快速比较 使用第二种方法,无论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做同样的事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |