Centos7 docker-py scheint nicht installiert zu sein
Ich installiert Centos7 minimal und dann: ansible, docker, und pip mit pip habe ich installiert docker-py.
Versionen:
- Docker version 1.6.0, bauen 8aae715/1.6.0
- ansible 1.9.1
- docker_py-1.2.2
Versuchen, ein playbook, zum Beispiel
- name: redis-container Andockfenster: name: myredis Bild: redis Status: gestartet
ich bekomme msg: docker-py
scheint nicht installiert zu sein, ist aber erforderlich für die Ansible Docker-Modul.
Ich sehe nicht das problem. Ist es das CentOS, docker und ansible version?
PS: ich deaktiviert, die firewalld und SELinux
Irgendwelche Ideen?
Dank
- Können Sie zeigen Sie Ihre Dockerfile ?
- Ich habe nicht ein Dockerfile. Ich bin mit ansible-playbook -ich-hosts.ini-playbook.yml Das playbook hat eine Aufgabe, die ich schrieb in der post. Sie bedeutete etwas anderes, oder ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich ein paar Probleme mit dem Andockfenster-py-Modul. Nachdem ich arbeitete durch Sie landete ich mit diesem:
Erste, ich lief in Ihr problem. Die Lösung ist explizit gesetzt, wird die neueste version sechs, wie hier beschrieben: https://github.com/docker/docker-py/issues/344.
Danach lief ich in ein Problem (vielleicht sind Sie es auch) mit einem Fehler in der docker-py 1.2.2 version. Die Problemumgehung ist, geben Sie eine ältere version wie hier beschrieben: https://github.com/ansible/ansible-modules-core/issues/1227. Tun ein pip uninstall-Andockfenster-py, um loszuwerden, die neuere version.
Wenn Sie nicht mit ansible zu installieren, diese dann tun Sie dies:
Wenn Sie arbeiten, CentOS7 oder ähnliches, können Sie nicht installieren möchten, unverpackt code per pip. In dem Fall ist es gut zu wissen, dass die Extras-Kanal hat ein Paket
python-docker-py
. Ich hatte dieses problem, installiert das Paket, und war aus dem Rennen.tl;dr;
überprüfen Sie die Datei Berechtigungen und stellen Sie sicher, dass Ihre Benutzer Lesen können das python-Modul in /usr/lib/python2.7/site-packages
Kontext
Ich ging vor kurzem zu dieser Frage, aber es war ein Berechtigungsproblem.
Beachten Sie, dass ich verwendet docker 1.9.1, ansible 2.0.1.0 und redhat 7.2.
Ich installiert docker-py mit ansible (das kann nicht euer Fall sein).
Habe ich es mit dieser Rolle:
Problem
Wenn sudoing, ansible installieren können docker-py mit Standard-umask 0077. Als Ergebnis, kein Benutzer, außer root, wird in der Lage sein zu Lesen docker-py-Modul-Dateien.
Ihrem playbook wird mit der
docker-py doesn't seem to be installed, but is required for the Ansible Docker module
Fehler.Beachten Sie die Unterschiede zwischen:
sudo pip install docker-py
=>/usr/lib/python2.7/site-packages/docker
im Modus 0700sudo su
dannpip install docker-py
=>/usr/lib/python2.7/site-packages/docker
im Modus 0755Fix
Diese werden fixierbar mit ansible 2.1 durch die übergabe der
umask=0022
parameter, um das pip-Modul (siehe https://github.com/ansible/ansible-modules-core/commit/4b46200477216dbcc54611d1c3e6f0cc83757aaf).Denn jetzt habe ich es behoben, indem alle Pakete installiert im Modus 0700:
Dann installieren Sie von hand:
Ich lief in eine Variante dieses Problem vor kurzem. Es war nicht wegen meiner mit
sudo
installieren Sie das Modul, aber der andere Weg herum.Aus welchem Grund auch immer entschied ich mich zur Installation
docker
mit pip ist--user
fahne und dann hatte die unglückliche "Idee" zu verwenden, die-b
oder--become
option.Dies führte zu der "offensichtlich" installiert
docker
- Modul nicht mehr zur Verfügung steht, um die erhöhten Ansible-Instanz läuft mein playbook. Sharing den Fall, dass jemand "einer dieser Tage" und stolpert über dieses später. Hoffe, es hilft Ihnen, als ich bezahlt für diese Erinnerung mit ein bisschen "dummen-Steuer", die hoffentlich genug für uns beide. 🙂