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 № 1Zusä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