/ / docker_image ansible module error Der Docker-py konnte nicht importiert werden, obwohl er auf einem Remote-Host installiert wurde: docker, ansible, ansible-2.x

docker_image ansible modul error Fehler beim Importieren von docker-py auch nach der Installation auf dem Remote-Host - docker, ansible, ansible-2.x

Ich versuche, mein Container-Image mit dem Modul docker_image von Ansible zu erstellen.

Meine Hostcomputer-Details:

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]

Meine Remote-Computerdetails:

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

Meine Aufgaben im Spielbuch:

 - 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

Ich erhalte jedoch ständig die folgende Fehlermeldung:

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

Ich sehe, dass es ein Problem mit dem Docker-py-Modul gibt und auch einige Lösungen und Korrekturen in ansible docker_container sind in den folgenden Links eingebunden:

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

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

Ich habe sogar mit dem folgenden Befehl versucht, mein Playbook auszuführen:

python3 ansible-playbook main.yml

Keines der oben genannten Punkte hat zu einer erfolgreichen Lösung beigetragen. Wie soll ich jetzt vorgehen?

Antworten:

0 für die Antwort № 1

Zusätzlich zu docker-py Installieren Sie die folgenden Pakete:

- requests
- urllib3

0 für die Antwort № 2

Die Lösung dafür ist wie folgt:

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

Es funktioniert mit den obigen Versionen von Docker-py und Docker-Compose. Referenz für weitere Informationen: https://github.com/ansible/ansible/issues/203801


0 für die Antwort № 3

Das Docker-Py-Modul verfügt über bestimmte Anforderungsmodule.

Deinstallieren Sie Ihr aktuelles Docker-py mit pip und installieren Sie es erneut mit pip auf dem Remote-Host.pip uninstall docker-py und danach pip install docker-py Ich hatte das gleiche Problem mit docker.py und docker-compose.py