Docker wird als sudo ausgeführt


12

Ich habe boot2docker installiert und folgendes ausgeführt:

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

Ich habe ein Tutorial von der Docker-Site aus 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 aber 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 Ausführen mit sudo wie im Tutorial nicht funktioniert (zumindest bei mir)?


2
Dies liegt daran, dass die Verwendung von sudo das Env löscht. Sudo muss hier nicht verwendet werden, da Sie eine Verbindung über die TCP-Schnittstelle herstellen
cpuguy83

Antworten:


15

Die DOCKER_HOSTUmgebungsvariable ist nicht gesetzt. Sie können dies folgendermaßen bestätigen:

> env

Dann als sudo:

> sudo env

Ohne die festgelegte DOCKER_HOSTVariable kann der Docker keine Verbindung zum Dämon herstellen.


3

Versuchen:

sudo DOCKER_HOST=$DOCKER_HOST docker run

Auf diese Weise steht die erforderliche Umgebungsvariable mit zur Verfügung sudo.


2

Wenn die DOCKER_HOSTVariable aus Ihrem Profil verfügbar sein soll, wenn Sie den Befehl docker 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

Wenn Sie boot2docker verwenden, rufen Sie den /ApplicationOrdner auf und führen Sie den Befehl aus

$(boot2docker shellinit)

Es wird Ihre DOCKER_HOSTVariable in der Umgebung reparieren .


0

Einstellen des Umgebungsvariable DOCKER_HOSTzu tcp://192.168.59.103:2375Arbeiten für mich.

Der schnellste Weg wäre, dies in Ihrer Befehlszeile auszuführen (für OSX / Unix / Linux-Maschinen):

export DOCKER_HOST=tcp://192.168.59.103:2375
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.