Machine: Frage: Berechtigung für curl verweigert und für Docker Compose gespeichert

Erstellt am 27. Feb. 2015  ·  30Kommentare  ·  Quelle: docker/machine

In den Anweisungen zur Installation von docker-compose können Sie Folgendes tun:

curl -L https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Aber Sie können es nicht installieren, weil:

zsh: permission denied: /usr/local/bin/docker-compose

Ich möchte kein Sudo machen, weil ich wollte, dass es so ist wie bei meinen vorherigen Installationen und der Verwendung von Docker

docker <command>

Kein Sudo...

Wie stellt man es richtig ein?

Hilfreichster Kommentar

in Eingabe beenden sudo chown -R $(whoami) /usr/local/bin

Alle 30 Kommentare

Ich glaube du meintest https://github.com/docker/compose. @aanand ?

Höchstwahrscheinlich ist Ihr /usr/local/bin Verzeichnis für Sie nicht beschreibbar. Entweder chmod / chown oder docker-compose irgendwo beschreibbar und sudo cp herunterladen.

Sie benötigen nicht sudo , um es auszuführen, sondern nur um es zu installieren.

Ich habe dieses Problem auch und ich bin ein bisschen Linux-Neuling :) Kann mir jemand helfen?

@luisrudge für komponieren oder maschinell?

Oh, das tut mir leid! Es ist zum Komponieren!

@luisrudge ok np :) dagegen, wenn ich dieses schließe?

Jawohl! Vielen Dank!

Ich habe das gleiche Problem mit dem Docker-Computer, bitte leiten Sie mich zur Lösung @ehazlett . weiter

@joeyhipolito @aanand bitte um Hilfe

@tarun6006 Das Problem/die Lösung ist wahrscheinlich das gleiche:

Höchstwahrscheinlich ist Ihr /usr/local/bin Verzeichnis für Sie nicht beschreibbar. Entweder chmod / chown oder docker-machine irgendwo beschreibbar und sudo cp herunterladen.

Sie benötigen nicht sudo , um es auszuführen, sondern nur um es zu installieren.

in Eingabe beenden sudo chown -R $(whoami) /usr/local/bin

Oh danke @zhangqinghe es hat das Problem für mich behoben

Ich fand diesen Ansatz einfacher.

@zhangqinghe das löst das Problem. Danke.

Mir hat sudo -i vor, das Problem gelöst.

@zhangqinghe danke. das löst mein problem.

bitte eintippen
sudo chmod -Rf 777 /usr/local/bin
es ist Arbeit

Bitte mach das nicht. Dies führt zu weitreichenden Berechtigungsänderungen, die wahrscheinlich den Rahmen dessen überschreiten, was Sie tatsächlich erreichen möchten.

sudo chown -R $(whoami) /usr/local/bin

Bitte tun Sie dies auch NICHT (es ändert den Besitzer jeder einzelnen Datei rekursiv in /usr/local/bin auf den Benutzer, unter dem Sie gerade laufen). Es ist VIEL übertrieben. Ich kann das nicht genug betonen.

Wenn Sie so etwas tun, wird es Ihnen wahrscheinlich irgendwann in die Luft gehen. In /usr/local/bin auf meinem Mac gehören einige Dateien nathanleclaire und einige gehören root . Die Programme, die sie dorthin bringen und sich auf sie verlassen, erwarten wahrscheinlich, dass dies so bleibt. Der oben vorgeschlagene Befehl wird diese sorgfältig angelegten Dateibesitzer vollständig dezimieren.

Ziehen Sie stattdessen bei Bedarf diese Art von Operation in Betracht. Speichern Sie die Datei in einem eigenen Verzeichnis und dann cp / mv .

$ curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` \
    >~/docker-compose
$ chmod +x ~/docker-compose
$ sudo mv ~/docker-compose /usr/local/bin/docker-compose

Viel sicherer mit viel weniger weitreichenden Folgen.

Aus der Docker- Dokumentation:

Hinweis: Wenn Sie die Fehlermeldung „Berechtigung verweigert“ erhalten, ist Ihr Verzeichnis /usr/local/bin wahrscheinlich nicht beschreibbar und Sie müssen Compose als Superuser installieren. Führen Sie sudo -i aus, dann die beiden folgenden Befehle und beenden Sie dann

Nathanleclaire Vorschlag hat bei mir funktioniert. Vielen Dank

Google bringt mich hierher....

Bitte, bitte BITTE... verwenden Sie die @nathanleclaire- Lösung

Was ist damit:
Wenn Sie Docker als Nicht-Root-Benutzer verwenden möchten, sollten Sie jetzt überlegen
Hinzufügen Ihres Benutzers zur Gruppe "docker" mit etwas wie:

sudo usermod -aG docker your-user
Ist das eine gute Idee?

Stellen Sie sicher, dass docker-compose ausführbar ist (chmod +x /usr/local/bin/docker-compose)

Sie müssen sich nicht mit den Berechtigungen für alle Dateien in /usr/local/bin
TU es nicht

sudo chown -R $(whoami) /usr/local/bin

Mach das stattdessen

sudo -i
curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod 755 /usr/local/bin/docker-compose
exit

Bitte verwenden Sie die Lösung von

Stellen Sie sicher, dass docker-compose ausführbar ist (chmod +x /usr/local/bin/docker-compose)

das funktionierte unter Ubuntu 18.04

Ich fand diesen Ansatz einfacher.

das hat bei mir funktioniert :D

Mir hat sudo -i vor, das Problem gelöst.

Dies (oder eine der anderen, die sudo -i erwähnen) sollte die akzeptierte Antwort sein und nicht die gesamte /usr/local/bin

Für was es wert ist: Der permission denied: docker-compose Fehler trat bei mir nach einem Upgrade von Docker auf. Eine Minute zuvor funktionierte noch alles einwandfrei, also waren meine Berechtigungen alle in Ordnung.

Nachdem ich die (jetzt aktualisierte) Docker-Desktop-Anwendung gestartet und auf Nachfrage nach meinem Administrator-Passwort autorisiert habe, war der Fehler weg. Also hat Docker die Berechtigungen selbst repariert.

Dieser Code allein kann dieses Problem lösen
sudo chmod +x /usr/local/bin/docker-compose

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen