sudo: docker-compose: Befehl nicht gefunden

9

Ich versuche, docker-compose mit sudo auszuführen.

Ich habe sowohl docker als auch docker-compose auf Ubuntu 16.01 installiert.

Aufgrund eines Fehlers beim Versuch, Compose mit curl herunterzuladen, habe ich es mit pip installiert.

Docker Version 1.12.0, Build 8eab29e docker-compose Version 1.8.0, Build 94f7016

Aber wenn ich versuche, docker-compose mit sudo auszuführen, bekomme ich Folgendes (mit sudo mit docker ist in Ordnung)

%Vor%

Ich nehme an, dass es unterschiedliche Definitionen dafür gibt, was "installiert" bedeutet. Ich habe docker-compose auf demselben Computer verwendet, der behauptet, dass er nicht installiert ist.

%Vor%

Ich habe folgendes versucht - bekomme aber immer noch den gleichen Fehler:

%Vor%     
Magick 04.08.2016, 19:34
quelle

3 Antworten

15

Die Ausgabe von dpkg -s ... zeigt, dass docker-compose nicht von einem Paket installiert ist. Ohne weitere Informationen von Ihnen gibt es mindestens zwei Möglichkeiten:

  1. docker-compose ist einfach nicht installiert und Sie müssen es installieren.

    Die Lösung hier ist einfach: install docker-compose .

  2. docker-compose wird in Ihrem $HOME -Verzeichnis (oder einem anderen Ort, nicht auf dem $PATH von root) installiert.

    In diesem Fall gibt es mehrere Lösungen. Am einfachsten ist es wahrscheinlich zu ersetzen:

    %Vor%

    Mit:

    %Vor%

    Dies ruft sudo mit dem vollständigen Pfad zu docker-compose auf.

    Sie könnten auch docker-compose in einem systemweiten Verzeichnis wie /usr/local/bin installieren.

larsks 04.08.2016 19:49
quelle
7

Wenn Sie die Installation über die offizielle Docker-Compose-Seite versucht haben, wo Sie die Binärdatei mit curl herunterladen müssen:

%Vor%

Dann vergessen Sie nicht, das ausführbare Flag zur Binärdatei hinzuzufügen:

%Vor%

Wenn docker-compose mit python-pip installiert wird

%Vor%

versuche mit pip show --files docker-compose zu sehen, wo es installiert ist.

Wenn docker-compose im Benutzerpfad installiert ist, versuchen Sie Folgendes:

%Vor%

Wie ich in Ihrem aktualisierten Beitrag gesehen habe, ist docker-compose im Benutzerpfad /home/user/.local/bin installiert und wenn dieser Pfad nicht in Ihrem lokalen Pfad $PATH ist, dann versuchen Sie:

%Vor%     
VanagaS 04.08.2016 20:33
quelle
4

Ich werde das hier als mögliche Lösung lassen, zumindest für mich gearbeitet und anderen geholfen haben. Ziemlich sicher, das wäre nur ein Linux-Fix.

Ich habe mich entschieden, nicht mit der pip-install und gehe mit der github-Version (Option eins in der Installationsanleitung).

Anstatt das kopierte docker-compose-Verzeichnis in / usr / local / bin / docker-compose vom curl / github-Befehl zu platzieren, ging ich mit / usr / bin / docker-compose, was der Speicherort von Docker ist und wird Erzwinge die Ausführung des Programms im Root-Verzeichnis. So funktioniert es in root und sudo, aber jetzt wird nicht ohne sudo so entgegengesetzte Wirkung funktionieren, die Sie als Benutzer sowieso ausführen möchten.

    
envymike 13.12.2016 23:55
quelle