Ansible docker“集装箱提供”;获取网络id时出错“;

Ansible docker“集装箱提供”;获取网络id时出错“;,docker,ansible,containers,Docker,Ansible,Containers,我正在从docker容器中的ansible控件运行ansible playbook。playbook应该创建另一个docker容器并将其连接到网桥网络。docker守护进程位于我启动ansible控件容器的主机上 我的剧本很简单,我可以回答主持人: - hosts: docker become: myuser connection: local gather_facts: no tasks: - nam

我正在从docker容器中的ansible控件运行ansible playbook。playbook应该创建另一个docker容器并将其连接到网桥网络。docker守护进程位于我启动ansible控件容器的主机上

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

  - 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”:“获取网络的网络id时出错-(”连接 已中止。“,错误(104,‘由对等方重置连接’)”

更新日期:2017年1月19日:

我现在可以这样做了。挑衅剧本如下所示:

- 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容器之间设置.ssh,这是我在DockerFile中做的
  • docker主机在库存文件中定义
  • 注册:ansible_docker_容器只是从docker_容器返回一些事实。它可以在以后的调试任务中打印出来,但没有多大帮助
docker-inst-setup.yml看起来像:

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

这个过程很复杂,但我把它都写了出来。我希望这有帮助。

对不起。我编辑了上面的剧本摘录,希望它现在更清晰。docker network ls的结果是什么?
myuser
是否对
docker
命令具有
sudo
权限?
docker
组是否只包含
127.0.0.1