A variável de ambiente DOCKER_HOST
não está definida. Você pode confirmar isso fazendo:
> env
Então, como sudo:
> sudo env
Sem a variável DOCKER_HOST
definida, o docker não pode se conectar ao daemon.
Eu instalei o boot2docker e eu corri:
./boot2docker start
export DOCKER_HOST=tcp://localhost:4243
Eu iniciei um tutorial no site do Docker.
Eu não entendo uma coisa - quando eu 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 sudo
, 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 do porquê rodar com o sudo como no tutorial não funciona (pelo menos para mim)?
Tente:
sudo DOCKER_HOST=$DOCKER_HOST docker run
Desta forma, a variável de ambiente necessária estará disponível com sudo
.
Se você quiser que a variável DOCKER_HOST
do seu perfil esteja disponível ao executar o comando do docker com o sudo, você poderá adicionar a seguinte linha ao arquivo sudoers
. Abrir com:
sudo visudo
Adicionar:
Defaults env_keep += "DOCKER_HOST"
Se você estiver usando boot2docker, vá para a pasta /Application
e execute o comando
$(boot2docker shellinit)
Isso consertará sua variável DOCKER_HOST
no ambiente.
Definir a variável de ambiente DOCKER_HOST
to tcp://192.168.59.103:2375
funciona para mim.
A maneira mais rápida seria rodar isso na sua linha de comando (para máquinas OSX / Unix / Linux):
export DOCKER_HOST=tcp://192.168.59.103:2375