Esecuzione di docker come sudo


12

Ho installato boot2docker e ho eseguito:

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

Ho iniziato un tutorial dal sito Docker.

Non capisco una cosa - quando corro:

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

Tuttavia quando corro senza sudofunziona:

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

Qualche idea sul perché l'esecuzione con sudo come nel tutorial non funziona (almeno per me)?


2
Questo perché l'uso di sudo cancella il tuo ambiente. Non è necessario utilizzare sudo qui perché ci si connette tramite l'interfaccia TCP
cpuguy83

Risposte:


15

La DOCKER_HOSTvariabile di ambiente non è impostata. Puoi confermarlo facendo:

> env

Quindi come sudo:

> sudo env

Senza il DOCKER_HOSTset di variabili, la finestra mobile non può connettersi al demone.


3

Provare:

sudo DOCKER_HOST=$DOCKER_HOST docker run

In questo modo la variabile d'ambiente richiesta sarà disponibile con sudo.


2

Se si desidera che la DOCKER_HOSTvariabile dal proprio profilo sia disponibile quando si esegue il comando docker con sudo, è possibile aggiungere la seguente riga al sudoersfile. Aperta con:

sudo visudo

Inserisci:

Defaults        env_keep += "DOCKER_HOST"

1

Se stai usando boot2docker, vai alla /Applicationcartella ed esegui il comando

$(boot2docker shellinit)

Riparerà la tua DOCKER_HOSTvariabile in ambiente.


0

Impostare la variabile d'ambiente DOCKER_HOSTper tcp://192.168.59.103:2375lavori per me.

Il modo più veloce sarebbe eseguirlo nella riga di comando (per macchine OSX / Unix / Linux):

export DOCKER_HOST=tcp://192.168.59.103:2375
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.