![](/img/trans.png)
[英]Ansible validate docker-compose with env_file and send to host
[英]Ansible docker-compose for each host in group
我正在将 Ansible 与Docker Compose 一起使用。 由于我docker-compose.yml
(连同其他不应复制到远程主机的依赖项)位于本地机器上,我在localhost
上运行剧本。 但是docker-compose
文件中定义的服务应该在远程主机上执行,使用docker_host
变量在hosts
文件中定义。
例子:
# hosts
[webserver]
192.168.88.100
192.168.88.101
192.168.88.102
# playbook.yml
- hosts: localhost
tasks:
- docker_compose:
docker_host: tcp://192.168.88.100:2375
现在在剧本中定义了一个明确的 ip 地址。 我的目标是为组webserver
定义的每个主机执行此任务,而无需为每个 IP 地址手动创建任务。
这可能与 ansible 吗?
我认为你可以做这样的事情:
# playbook.yml
- hosts: webserver
tasks:
- docker_compose:
docker_host: "tcp://{{ ansible_eth0.ipv4.address }}:2375"
delegate_to: localhost
{{ ansible_eth0.ipv4.address }}
可以获取主机的ip地址。
delegate_to: localhost
允许您指定 localhost 作为执行任务的主机。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.