Docker als Sudo laufen lassen

11351
Cris

Ich habe boot2docker installiert und lief:

./boot2docker start export DOCKER_HOST=tcp://localhost:4243 

Ich habe ein Tutorial von der Docker-Site gestartet.

Ich verstehe nichts - wenn ich renne:

sudo docker info ==> Get http:///var/run/docker.sock/v1.11/info: dial unix /var/run/docker.sock: no such file or directory 

Wenn ich jedoch ohne laufe sudo, funktioniert es:

MacCris:bin cristianc$ docker info Containers: 2 Images: 10 Storage Driver: aufs Root Dir: /mnt/sda1/var/lib/docker/aufs Dirs: 14 Execution Driver: native-0.2 Kernel Version: 3.14.1-tinycore64 Debug mode (server): true Debug mode (client): false 

Irgendeine Idee, warum das Laufen mit Sudo wie im Tutorial nicht funktioniert (zumindest für mich)?

12
Dies liegt daran, dass mit sudo Ihre Umgebung gelöscht wird. Sudo muss hier nicht verwendet werden, da Sie über die TCP-Schnittstelle eine Verbindung herstellen cpuguy83 vor 10 Jahren 2

5 Antworten auf die Frage

15
Brian Hartsock

Die DOCKER_HOSTUmgebungsvariable ist nicht festgelegt. Sie können dies bestätigen, indem Sie Folgendes tun:

> env 

Dann als Sudo:

> sudo env 

Ohne den DOCKER_HOSTVariablensatz kann das Docker keine Verbindung zum Daemon herstellen.

3
lifeisfoo

Versuchen:

sudo DOCKER_HOST=$DOCKER_HOST docker run 

Auf diese Weise steht die benötigte Umgebungsvariable mit zur Verfügung sudo.

2
surajz

Wenn die DOCKER_HOSTVariable aus Ihrem Profil verfügbar sein soll, wenn Sie den Docker-Befehl mit sudo ausführen, können Sie der sudoersDatei die folgende Zeile hinzufügen . Öffnen mit:

sudo visudo 

Hinzufügen:

Defaults env_keep += "DOCKER_HOST" 
1
smirnoffs

Wenn Sie boot2docker verwenden, wechseln Sie in den /ApplicationOrdner und führen Sie den Befehl aus

$(boot2docker shellinit) 

Es wird Ihre DOCKER_HOSTVariable in der Umgebung festlegen .

0
Ardy Dedase

Die Umgebungsvariable so einstellen DOCKER_HOST, dass sie tcp://192.168.59.103:2375für mich funktioniert.

Am schnellsten führen Sie dies in Ihrer Befehlszeile aus (für OSX / Unix / Linux-Computer):

export DOCKER_HOST=tcp://192.168.59.103:2375