我正在尝试使用Ansible playbook更改正在运行的tomcat docker容器的配置文件或自述文件。我通过docker模块进行构建和运行docker镜像。但是我希望在使用Ansible运行时自动执行更改或替换容器配置文件中任何行的任务。我没有看到任何这样的安全模块来做到这一点。任何帮助表示赞赏。
PS:我已经知道用于修改线路的lineinfile模块。我的问题是如何使用ansible进入正在运行的容器。
答案 0 :(得分:2)
你可能不想在船坞上使用ansible。它违背了大多数关于docker容器的用途以及如何使用它们的建议。
首先,您希望容器运行单个进程 - 在本例中为Tomcat。这意味着您也无法运行ssh守护程序。其次,当您更新配置文件时,您可能必须重新启动tomcat - 这将结束容器的主进程并导致它退出,这可能不是您想要的。
使用docker时,通常在创建容器时通过环境变量给出配置。这更有可能成为您追求的解决方案。有许多方法可以提供此环境信息,最简单的方法通常是-e
命令上的docker run
标记。