gpt4 book ai didi

docker - 使用 Ansible 获取 Docker 的 IP 地址

转载 作者:行者123 更新时间:2023-12-02 04:30:00 25 4
gpt4 key购买 nike

我有遵循剧本命令:

  - name: Docker | Consul | Get ip
shell: "docker inspect --format {% raw %}'{{ .NetworkSettings.IPAddress }}' {% endraw %} consul"
register: consul_ip

运行ansible后返回以下错误:

fatal: [192.168.122.41]: FAILED! => {"failed": true, "msg": "{u'cmd': u\"docker inspect --format '{{ .NetworkSettings.IPAddress }}' consul\", u'end': u'2017-01-18 16:52:18.786469', u'stdout': u'172.17.0.2', u'changed': True, u'start': u'2017-01-18 16:52:18.773819', u'delta': u'0:00:00.012650', u'stderr': u'', u'rc': 0, 'stdout_lines': [u'172.17.0.2'], u'warnings': []}: template error while templating string: unexpected '.'. String: docker inspect --format '{{ .NetworkSettings.IPAddress }}' consul"}

Ansible 版本:

ansible 2.2.1.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides

如何正确获取容器的IP地址?

最佳答案

bash 连接能力的技巧:

shell: "docker inspect --format '{''{ .NetworkSettings.IPAddress }''}' consul"

这会将 {+{ .NetworkSettings.IPAddress }+} 粘在一起成为 bash 中的单个字符串。

更新:此行为的根本原因是described here .

关于docker - 使用 Ansible 获取 Docker 的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41721353/

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