python - Ansible/分子 : service docker daemon/engine won’t start

标签 python docker ansible molecule

在显式传递命令后,服务模块似乎没有启动我的 docker 守护进程。 Ansible 未在目标主机中启动 docker 守护进程。 任务:

- 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
...

看起来一切都对。安装 docker-engine,确认状态存在。安装 pip 来安装 docker-py,确认它存在。然后确保docker服务已启动。但是,当尝试创建 docker 容器时,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'))"}
...

如果登录盒子并启动 docker 服务,问题就会消失。

我可以通过使用 command 模块隐式运行命令 service docker start 来解决这个问题——这就是它变得奇怪的原因......因为它有效:

- name: Ensure docker service is enabled
  command: service docker start
...

最佳答案

我可以通过使用 sysvinit 模块来解决这个问题,而不是服务:

- name: Start docker service
  sysvinit:
    name: docker
    state: started
    enabled: yes

关于python - Ansible/分子 : service docker daemon/engine won’t start,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55525085/

相关文章:

python - XLDateAmbiguous 解决方法

python - 如何使用 Python 生成和打开 Outlook 电子邮件(但不发送)

java - 如何在基于java的docker镜像中安装包管理器

docker - "volume"参数在 docker 中如何工作?

regex - 使用ansible从变量中解析子字符串

python - KeyError:0 在 python 中使用多处理

python - OpenCV cv2透视变换矩阵乘法

docker - NLog配置从docker run参数设置连接字符串

windows - Ansible 处理程序在播放结束时运行两次

git - Ansible Playbook : Permission denied (publickey), 无法从远程存储库读取