Ansible docker_container给出“获取networkingID错误”

我从位于docker集装箱的一个可控制的控制器运行一个可靠的手册。 剧本应创build另一个docker集装箱,并将其附加到桥梁networking。 docker守护程序位于主机上,我从中启动了一个可控的控制容器。

我的剧本很简单,我可以ping主持人:

- hosts: docker become: myuser connection: local gather_facts: no tasks: - name: Start Node container, connect to network docker_container: name: node1 hostname: node1 docker_host: tcp://172.18.0.1:2375 image: ubuntu-java state: started tty: yes detach: yes restart_policy: on-failure networks: - name: my-network 

我得到这个错误:

“msg”:“错误获取我的networking的networkingID – ('连接中止',错误(104,'由对等重置连接'))”

更新1/19/2017:

我现在可以做到这一点。 预备剧本看起来像这样:

 - hosts: docker-host vars_files: - ~/resources/vars/docker-inst-setup.yml tasks: - name: debug check debug: msg: "container is {{ item.cont_name }}" with_items: "{{ inst_types }}" - name: Start container, connect to network become: true become_user: "{{ ansible_user_id }}" docker_container: name: "{{ item.cont_name }}" hostname: "{{ item.cont_name }}" image: gf-node:latest state: started tty: yes detach: yes restart_policy: on-failure network_mode: bridge volumes: /home/me/.ssh volumes_from: ansible-master register: ansible_docker_container with_items: "{{ inst_types }}" 

笔记:

  • 首先,我必须在ansible-master和我要提供的docker箱之间build立.ssh,这是我在dockerfiles中做的。
  • docker主机在清单文件中定义
  • 注册:ansible_docker_container只是从docker_container返回一些事实。 它可以稍后在debugging任务中打印,但不是很有帮助。

docker-inst-setup.yml看起来像这样:

 inst_types: - {cont_name: "gf-das", cont_count: 1} - {cont_name: "gf-build-node", cont_count: 1} 

这个过程很复杂,但是我把它写在这篇博客文章中 。 我希望这有帮助。