微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – msg:ConnectionError(ProtocolError(‘Connection aborted.’,error(2,’No such file or director

我在TASK上遇到错误Nginx容器:

Failed: [localhost] => {"changed": false, "Failed": true}
msg: ConnectionError(ProtocolError('Connection aborted.', error(2, 'No such file or directory')),)

FATAL: all hosts have already Failed -- aborting

播放下一个Ansible剧本时:

---
-   name: Play
    hosts: localhost
    vars: []
    tasks:
        -   name: Nginx container
            docker:
                name: my.Nginx2
                image: Nginx
                state: started

我做错了什么?这是一个错误吗?

附:使用-vvvv得到的更详细的输出是:

<localhost> REMOTE_MODULE docker state=started name=my.Nginx2 image=Nginx
<localhost> EXEC ['/bin/sh', '-c', 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1431434101.65-11072088770561 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1431434101.65-11072088770561 && echo $HOME/.ansible/tmp/ansible-tmp-1431434101.65-11072088770561']
<localhost> PUT /tmp/tmp7ySlXq TO /home/victor/.ansible/tmp/ansible-tmp-1431434101.65-11072088770561/docker
<localhost> EXEC ['/bin/sh', '-c', u'LANG=C LC_CTYPE=C /usr/bin/python /home/victor/.ansible/tmp/ansible-tmp-1431434101.65-11072088770561/docker']
Failed: [localhost] => {"changed": false, "Failed": true}
msg: ConnectionError(ProtocolError('Connection aborted.', error(2, 'No such file or directory')),)

FATAL: all hosts have already Failed -- aborting

解决方法:

你应该安装docker:

- name: install docker
  shell: curl -sSL https://get.docker.com/ | sh
  args:
     creates: /usr/bin/docker

你应该检查它是否有效:

- name: Wait for the Docker server to start
  action: raw docker version
  register: docker_version
  until: docker_version.stdout.find("Client") != -1
  retries: 30
  delay: 10

并且您需要满足所有依赖项(http://docs.ansible.com/ansible/docker_module.html):

Requirements (on host that executes module)
python >= 2.6
docker-py >= 0.3.0
The docker server >= 0.10.0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐