在显式传递命令之后,服务模块似乎不会启动我的docker守护进程。Ansible不在目标主机中启动对接守护进程。任务:
- name: Install Docker
apt:
name: docker-engine
state: present
update_cache: yes
- name: Install pip
apt:
name: python-pip
state: present
- name: Install docker-py
pip:
name: docker-py
state: present
- name: Start docker service
service:
name: docker
state: started
enabled: yes
...看起来都是对的。安装对接引擎,确认状态是否存在。安装pip以安装docker-py,确认它是否存在。然后确保码头服务启动。但是,当试图创建一个码头容器时,stderr会抛出以下内容
fatal: [ubuntu-xenial]: FAILED! => {"changed": false, "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', error(2, 'No such file or directory'))"}
...如果登录到该框并启动码头服务,问题就会消失。
我可以通过使用service docker start模块隐式运行命令command来解决这个问题--这就是它变得奇怪的原因.因为它起作用:
- name: Ensure docker service is enabled
command: service docker start
...发布于 2019-04-09 18:01:42
我可以通过使用sysvinit模块来解决这个问题,而不是服务:
- name: Start docker service
sysvinit:
name: docker
state: started
enabled: yeshttps://stackoverflow.com/questions/55525085
复制相似问题