Ejecutando Docker como sudo


12

Instalé boot2docker y ejecuté:

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

Comencé un tutorial desde el sitio de Docker.

No entiendo una cosa: cuando corro:

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

Sin embargo, cuando corro sin sudofunciona:

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

¿Alguna idea de por qué no funciona con sudo como en el tutorial (al menos para mí)?


2
Esto se debe a que usar sudo está limpiando su entorno. No hay necesidad de usar sudo aquí porque se está conectando a través de la interfaz TCP
cpuguy83

Respuestas:


15

La DOCKER_HOSTvariable de entorno no está establecida. Puede confirmar esto haciendo:

> env

Entonces como sudo:

> sudo env

Sin el DOCKER_HOSTconjunto de variables, Docker no puede conectarse al demonio.


3

Tratar:

sudo DOCKER_HOST=$DOCKER_HOST docker run

De esta manera, la variable de entorno requerida estará disponible con sudo.


2

Si desea que la DOCKER_HOSTvariable de su perfil esté disponible cuando ejecuta el comando docker con sudo, puede agregar la siguiente línea al sudoersarchivo. Abrir con:

sudo visudo

Añadir:

Defaults        env_keep += "DOCKER_HOST"

1

Si está usando boot2docker, vaya a la /Applicationcarpeta y ejecute el comando

$(boot2docker shellinit)

Arreglará su DOCKER_HOSTvariable en el entorno.


0

Establecer la variable de entorno DOCKER_HOSTpara que tcp://192.168.59.103:2375funcione para mí.

La forma más rápida sería ejecutar esto en su línea de comando (para máquinas OSX / Unix / Linux):

export DOCKER_HOST=tcp://192.168.59.103:2375
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.