从容器内部配置带有 ansible 的docker容器,提供ansible命令作为入口点是不错的做法?使用ansible,根据某些查找条件配置事物会更容易。此ansible命令也将启动提供的服务。这是好事还是邪恶?另一种选择是使用shell脚本,第三种是在Dockerfile中进行所有配置(容易出错)。最后一个选项是使用任何方法(手动或CM)配置一些基本容器并提交更改(难以重现)。哪个是配置容器的首选方法?
IMO,使用ansible将业务逻辑与docker平台分离,因此可以通过一个单一的ansible命令轻松地在不同的虚拟化平台或裸机上运行相同的服务。但是有缺点吗?
此外,是否赞同使用ansible配置正在运行的容器,或者这是否违反了docker原则?
答案 0 :(得分:0)
Ansible通常是从容器外部执行的,但它不一定是,它取决于你想要实现的目标。例如,本地安装的Ansible通常用于小型开发环境,例如开发人员笔记本电脑,而单独的服务器则用于云环境,其中有多个系统,容器等。
答案 1 :(得分:0)
我刚刚花了几个星期看看这个问题。 对于相同的应用程序(基于tomee和mongo),我已经完成了以下模式:
我按顺序做了它们,因为它意味着从简单到复杂。我是产品经理,我的不同客户处于不同的成熟水平,所以我和你有同样的担忧。我想要一个可重复的脚本,它既适用于VM(甚至是裸机),也适用于容器化环境。
第一种解决方案是学习的好方法。 第二种解决方案有效,但这意味着您的容器比它们应该更大。 第三种解决方案更好,原因如下: