Einfache Lösung für mich: sudo docker-compose up
UPDATE 2016-3-14: Irgendwann im Docker-Installationsprozess (oder Docker-Compose?) Gibt es einen Vorschlag und ein Beispiel, um Ihren Benutzernamen zur Gruppe "Docker" hinzuzufügen. Auf diese Weise können Sie vermeiden, dass "sudo" vor allen Docker-Befehlen benötigt wird.
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
Schauen Sie sich die Ausgabe der Installationsbefehle (sowohl Docker als auch die 2. Installation für Docker-Compose) genau an und Sie werden den notwendigen Schritt finden. Es ist auch hier dokumentiert: https://subosito.com/posts/docker-tips/
Sudo? Nein!
Sind Sie es leid, jedes Mal, wenn Sie einen Befehl erteilen, sudo docker einzugeben? Ja, es gibt einen Weg, damit umzugehen. Obwohl Docker natürlich einen Root-Benutzer benötigt, können wir eine Root-äquivalente Gruppe für Docker-Operationen angeben.
Sie können eine Gruppe namens Docker erstellen und dann den gewünschten Benutzer zu dieser Gruppe hinzufügen. Nach dem Neustart des Docker-Dienstes muss der Benutzer nicht jedes Mal sudo eingeben, wenn Docker-Vorgänge ausgeführt werden. Wie sieht es bei Shell-Befehlen aus? als Wurzel, los geht's:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
Getan!
UPDATE 2017-3-9
Schritte nach der Installation für Linux
Dieser Abschnitt enthält optionale Verfahren zum Konfigurieren von Linux-Hosts für eine bessere Zusammenarbeit mit Docker.
Verwalten Sie Docker als Nicht-Root-Benutzer
Der Docker-Daemon wird anstelle eines TCP-Ports an einen Unix-Socket gebunden. Standardmäßig gehört dieser Unix-Socket dem Benutzer root, und andere Benutzer können nur mit sudo darauf zugreifen. Der Docker-Daemon wird immer als Root-Benutzer ausgeführt.
Wenn Sie sudo nicht verwenden möchten, wenn Sie den Docker-Befehl verwenden, erstellen Sie eine Unix-Gruppe namens Docker und fügen Sie Benutzer hinzu. Wenn der Docker-Daemon gestartet wird, wird der Besitz des Unix-Sockets von der Docker-Gruppe gelesen / beschrieben.
So erstellen Sie die Docker-Gruppe und fügen Ihren Benutzer hinzu:
# 1. Create the docker group.
$ sudo groupadd docker
# 2. Add your user to the docker group.
$ sudo usermod -aG docker $USER
# 3. Log out and log back in so that your group membership is re-evaluated.
# 4. Verify that you can run docker commands without sudo.
$ docker run hello-world
Dieser Befehl lädt ein Testbild herunter und führt es in einem Container aus. Wenn der Container ausgeführt wird, wird eine Informationsnachricht gedruckt und beendet.
docker-machine
als root? Ich bin gerade mit dem gleichen Problem unter Ubuntu hierher gekommen und es waren die Berechtigungen für den Socket -sudo
habe den Trick gemacht.