使用 Ansible 在正在运行的 Docker 容器内运行 shell 命令

shw*_*tha 5 ansible docker ansible-playbook

我想执行 shell 命令,例如:使用 Ansible 在正在运行的 docker 容器内执行“wget”命令。这是我试图执行的剧本

---

- name: Enter into a running container and run a command
  docker_container:
    name: centos_conatainer
    state: started
    image: centos
    command: wget https://downloadlink.com
Run Code Online (Sandbox Code Playgroud)

这会停止容器,并且它也不会下载文件。这是使用 docker_container 模块执行 shell 命令的正确方法,还是有其他方法可以使用 Ansible 执行此操作?

小智 5

您正在寻找与 docker exec命令行等效的 Ansible 。

命令在ansible docker_container是在命令选项相当于泊坞窗运行命令行。

这个新的 Ansible 模块似乎不支持这一点。您只需要使用通用的 Ansible 命令即可。

例子:

- name: Enter into a running container and run a command
  command: docker exec centos_container wget https://downloadlink.com
Run Code Online (Sandbox Code Playgroud)