docker_image ansible 模块错误 Failed to import docker-py even after installing on remote host

docker_image ansible module error Failed to import docker-py even after installing on remote host

我正在尝试使用 Ansible 的 docker_image 模块构建我的容器镜像。

我的主机详细信息:

OS: Lubuntu 17.10
ansible 2.4.2.0
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/myuser/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.14 (default, Sep 23 2017, 22:06:14) [GCC 7.2.0]

我的远程机器详细信息:

Remote OS: CentOS 7.2
Pip modules: docker-py==1.2.3 , six==latest

我在剧本中的任务:

 - name: Install dependent python modules
   pip:
     name: "{{item}}"
     state: present
   with_items:
    - docker-py

 - name: Build container image for api
   docker_image:
      name: api
      path: /home/abc/api/ #location of my Dockerfile

但是我不断收到以下错误消息:

"msg": "Failed to import docker-py - No module named 'requests.packages.urllib3'. Try `pip install docker-py`"

我看到 docker-py 模块有一些问题,还有一些解决方案和对 ansible 的修复 docker_container 也合并到以下链接中:

https://github.com/ansible/ansible/issues/20492

https://medium.com/dronzebot/ansible-and-docker-py-path-issues-and-resolving-them-e3834d5bb79a

我什至尝试使用以下命令 运行 我的剧本:

python3 ansible-playbook main.yml
上面的

None 帮助成功解决了它。我现在该怎么办

除了 docker-py 安装以下软件包:

- requests 
- urllib3

解决方法如下:

- name: Install dependent python modules
  pip:
    name: "{{item}}"
    state: present
  with_items:
    - docker-py==1.10.6
    - docker-compose==1.9.0

它适用于以上版本的 docker-py 和 docker-compose。 参考更多信息: https://github.com/ansible/ansible/issues/203801

docker-py模块在特定版本中有一些需求模块。

用 pip 卸载当前的 docker-py,然后在远程主机上用 pip 重新安装它。pip uninstall docker-pypip install docker-py 之后 我对 docker.py 和 docker-compose.py

有同样的问题