Como executar o docker hello world? Ocorreu um erro ao tentar se conectar

3

Eu instalei o docker no Windows 10, mas quando tento executá-lo com uma amostra, recebo:

C:\Program Files\Docker Toolbox\kitematic>docker run hello-world
An error occurred trying to connect: Post http://localhost:2375/v1.21/containers/create: dial tcp 127.0.0.1:2375: ConnectEx tcp: No connection could b
e made because the target machine actively refused it.

Como consertar?

    
por Dims 26.12.2015 / 16:11

1 resposta

2

Eu sou um neófito do Docker, então não estou muito confiante na minha resposta, mas estava tendo o mesmo problema que você descreveu e aqui está como eu resolvi isso ...

Primeiro, vou assumir que você tem uma docker-machine funcional, como:

C:\Program Files\Docker Toolbox>docker-machine ls
NAME      ACTIVE   DRIVER   STATE     URL                       SWARM   DOCKER    ERRORS
docker    -        hyperv   Running   tcp://192.168.0.22:2376           v1.9.1

Demorei um pouco para chegar até aqui, já que estou usando o Hyper-V para hospedar minha máquina Docker. Uma vez que você está aqui, você pode usar docker-machine para obter suas configurações:

C:\Program Files\Docker Toolbox>docker-machine config docker
--tlsverify
--tlscacert="C:\Users\Ken\.docker\machine\certs\ca.pem"
--tlscert="C:\Users\Ken\.docker\machine\certs\cert.pem"
--tlskey="C:\Users\Ken\.docker\machine\certs\key.pem"
-H=tcp://192.168.0.22:2376

Para persistir esses parâmetros (para que você não precise passá-los em cada chamada de docker.exe ), você pode criar as seguintes variáveis de ambiente (clique em aqui para detalhes sobre as variáveis disponíveis):

set DOCKER_HOST=tcp://192.168.0.22:2376
set DOCKER_TLS_VERIFY=true
set DOCKER_CERT_PATH=C:\Users\Ken\.docker\machine\certs

Ainda não escrevi tudo isso, mas acho que criarei uma alternativa ao start.sh que vem com o Docker Toolbox, já que esse endereço IP provavelmente será alterado toda vez que você iniciar a máquina virtual que hospeda o Docker . NOTA: docker-machine cobriu aqui também! Depois de iniciar sua máquina docker, você pode usar o comando docker-machine env <machine> para definir essas variáveis de ambiente automaticamente!

Então, criei o seguinte script bash para substituir o script start.sh:

docker-machine start docker
eval "$(docker-machine.exe env docker)"

Obviamente, você terá que trocar meus detalhes pelo seu, mas espero que isso seja útil. Eu sei que tive um tempo terrível encontrando documentação sobre como fazer essas coisas rodarem no Windows 10.

    
por 04.01.2016 / 01:38