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