gpt4 book ai didi

docker - 使用Ansible在docker-machine上启动Docker容器?

转载 作者:行者123 更新时间:2023-12-02 18:24:17 25 4
gpt4 key购买 nike

我有一个要在Docker容器中部署的Rails应用程序。我想从Docker容器进行开发,以便它在环境之间保持一致。

我有一本Ansible剧本,它启动了远程服务器上的Docker容器,并且工作正常。我以为我会使用相同的Ansible任务来启动容器并将它们在Mac上链接在一起。

但是,当我对本地实例运行剧本时,出现如下错误:

fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "`docker-py` doesn't seem to be installed, but is required for the Ansible Docker module."}

看来问题在于Ansible在Mac上执行本地ssh,但我需要它才能连接到docker-machine。

如何使用Ansible在Mac上运行的Docker容器上运行任务?

最佳答案

当您编写Ansible时,您需要确定它在哪里运行

- hosts: HOSTS_TO_RUN_FOLLOWING_TASKS
tasks:
- name: NAME_OF_TASK
shell: SHELL_CMD

当您想在同一个ansible的不同主机上运行时,只需再次编写以下代码:
- hosts: NEW_HOST_TO_RUN_TASKS
tasks:
- name: NAME_OF_TASK
shell: SHELL_CMD

如果将“localhost”放在“hosts:”中,则它将在本地主机上运行。
如果要在特定主机上运行,​​请运行 /etc/ansible/hosts --refresh-cache命令并在结果中使用标记。

例如,如果结果是
"tag_Name_Production":
[
"124.125.125.121",
"124.125.125.122",
"124.125.125.123"
]

而您只想在所有这些上运行命令:
- hosts: tag_Name_Production
tasks:
- name: NAME_OF_TASK
shell: SHELL_CMD

关于docker - 使用Ansible在docker-machine上启动Docker容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35073436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com