这是一个非常干净和Ansible的本机解决方法,不依赖于
docker --inspect花括号。我们假设之前我们刚刚使用 Ansible
docker模块 引用了一个容器:
- name: query IP of client container shell: "docker exec {{ docker_containers[0].Id }} hostname -I" register: _container_query- name: get IP of query result set_fact: _container_ip: "{{ _container_query.stdout | regex_replace('\s','') }}"现在,在Variable中具有Docker容器的IP
_container_ip。我还在我的文章《与Docker融为一体的婚姻》中发布了此变通办法。
[更新2015-11-03]删除了容器查询标准输出的空格。
[Update
2015-11-04]顺便说一句,官方的Ansible存储库中有两个请求请求,通过恢复Docker模块返回的事实,该解决方案变得不必要。因此,您可以通过来访问Docker容器的IP
docker_containers[0].NetworkSettings.IPAddress。因此,请为这些拉取请求投票:
- 修复了破碎的事实#1457
- 泊坞窗模块:修复f38186c和80aca4b#2093引入的回归



