Executando a janela de encaixe como sudo


12

Instalei o boot2docker e executei:

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

Comecei um tutorial no site do Docker.

Não entendo uma coisa - 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

No entanto, quando eu corro sem sudoele funciona:

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

Alguma idéia de por que rodar com o sudo como no tutorial não funciona (pelo menos para mim)?


2
Isso ocorre porque o uso do sudo está limpando seu ambiente. Não há necessidade de usar sudo aqui porque você está se conectando pela interface TCP
cpuguy83

Respostas:


15

A DOCKER_HOSTvariável de ambiente não está definida. Você pode confirmar isso fazendo:

> env

Então, como sudo:

> sudo env

Sem o DOCKER_HOSTconjunto de variáveis, o docker não pode se conectar ao daemon.


3

Experimentar:

sudo DOCKER_HOST=$DOCKER_HOST docker run

Dessa forma, a variável de ambiente necessária estará disponível com sudo.


2

Se você deseja que a DOCKER_HOSTvariável do seu perfil esteja disponível ao executar o comando docker com o sudo, adicione a seguinte linha ao sudoersarquivo. Abrir com:

sudo visudo

Adicionar:

Defaults        env_keep += "DOCKER_HOST"

1

Se você estiver usando o boot2docker, vá para a /Applicationpasta e execute o comando

$(boot2docker shellinit)

Ele corrigirá sua DOCKER_HOSTvariável no ambiente.


0

Definir a variável de ambiente DOCKER_HOSTpara tcp://192.168.59.103:2375funciona para mim.

A maneira mais rápida seria executar isso em sua linha de comando (para máquinas OSX / Unix / Linux):

export DOCKER_HOST=tcp://192.168.59.103:2375
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.