A rede atingiu o tempo limite ao tentar conectar-se a https://index.docker.io

204

Instalei o Docker-Toolbox agora mesmo enquanto seguia a página deles

Comecei com Docker QuickStart Terminale veja o seguinte

                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/


docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com

bash-3.2$ 

Mas quando tento me apresentar docker pull hello-world, é isso que vejo

bash-3.2$ docker run hello-world
Unable to find image 'hello-world:latest' locally
Pulling repository docker.io/library/hello-world
Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/hello-world/images. You may want to check your internet connection or if you are behind a proxy.
bash-3.2$ 

O que há de errado?

sonhador
fonte

Respostas:

482

Eu tive o mesmo problema esta manhã e o seguinte corrigiu para mim:

$ docker-machine restart default      # Restart the environment
$ eval $(docker-machine env default)  # Refresh your environment settings

Parece que isso ocorre porque a máquina virtual do Docker entra em um estado estranho. Há um problema aberto no github aqui

Mark Smith
fonte
3
Isso também corrigiu para mim ... no entanto, eu tenho que executá-lo novamente a cada nova sessão do terminal.
THX1137
17
Parece acontecer quando mudo da LAN do trabalho para a LAN doméstica. Talvez o DNS esteja inacessível em casa.
taco
10
Posso confirmar que ele quebra quando troco de rede WiFi. Reiniciar o Docker sempre o corrige.
Stephen Harrison
3
Perfeito, no meu caso eu tive que incluir docker-machine regenerate-certs default.
Rogeriopradoj
3
caramba, isso faz todo o sentido agora. Mudar as configurações de rede (wifi, lan, vpn, rede doméstica, intranet comercial, iphone, ...) causa esses problemas estranhos.
Nils petersohn
41

Eu instalei o Docker sem a Caixa de Ferramentas no Windows 10, para que a versão que requer o Hyper-V esteja ativada.

Para o Docker versão 1.12, tive que ir para a barra de tarefas, clique com o botão direito do mouse no ícone do Docker, selecione Configurações -> Rede e defina o servidor DNS como fixo, para usar o servidor DNS do Google em 8.8.8.8.

Depois que a configuração foi alterada, finalmente funcionou.

Mastergalen
fonte
Eu apenas mudei para fixo e depois mudei de volta e pressione aplicar. Não precisava deixá-lo fixo.
precisa saber é o seguinte
No meu caso, tenho o cliente guarda-chuva OpenDNS instalado, que define suas configurações de rede para usar 127.0.0.1 para DNS. O Docker parece copiar as configurações da sua placa de rede, assim como colocar o host local nas próprias configurações de DNS, o que naturalmente não funciona.
Richard Benson
Trabalhou no windows 10
master
16

A solução mais simples é adicionar a seguinte entrada no arquivo / etc / default / docker

exportar http_proxy = "http: // HOST: PORT /"

e reinicie o serviço docker

reinicialização da janela de encaixe de serviço

pr-pal
fonte
Ele foi concebido para ser um "exemplo" servidor proxy, não esperava que iria causar uma confusão
pr-pal
2
Para centos, ele está no arquivo / etc / sysconfig / docker.
Priyank Desai
Para MacOS, entrei manualmente as configurações de proxy em "Preferências" do Docker de Desktop -> "proxies"
user1394
8

Atualização agosto de 2016

Usando o Docker para Mac (versão 1.12.0), havia problemas no formulário:

➜  docker pull node
Using default tag: latest
Pulling repository docker.io/library/node
Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/node/images. You may want to check your internet connection or if you are behind a proxy.`enter code here`

Isso foi resolvido atualizando as configurações de rede sem fio do MacBook Pro para incluir a seguinte entrada DNS: 8.8.8.8

Para mais informações, consulte este (datado) questão que forneceu a resposta dada aqui.

arcseldon
fonte
7

Encontrei este problema ao executar o Docker no meu MAC (host) com o Docker VM no VBOX 5.10. É uma questão de rede. A solução simples é adicionar uma rede em ponte à imagem do VBOX. Você pode usar a configuração NAT incluída presente na VM, mas precisa alterar a porta ssh de 50375 para 2375.

dbaOnTap
fonte
1
Foi isso que funcionou para mim (VirtualBox 5.0.10r104061 no Windows 10 Pro). Observe para os novatos mais novos que eu que você precisará docker-machine stop default, depois adicione a rede no gerenciador do VirtualBox e, em seguida, docker-machine start default(alterando o padrão para o nome da sua máquina, conforme necessário). Tentei primeiro a sugestão simples de reinício + eval env do @ Mark-Smith e isso não fez isso por mim.
David Brown
@dbaOnTap Você é uma dádiva de Deus, meu amigo. Estou preso nisso há dias. A execução do Windows 10 Home com a última compilação de teste do VirtualBox (5.0.15-10594) e a caixa de ferramentas do docker (1.10.0) mais recente, é a única coisa que funcionou para mim.
Cevacoder
4
sudo service docker stop
sudo service docker start

funciona para mim..

de alguma forma, sudo service docker restartnão funcionou

(RHEL7)

ItayB
fonte
4

No Windows 7 e se você acredita que está por trás do proxy

  1. Faça logon na máquina padrão

    $ docker-machine ssh default
    
  2. Atualizar perfil para atualizar configurações de proxy

    docker@default:~$ sudo vi /var/lib/boot2docker/profile
    
  3. Anexe a seguir, conforme apropriado

    # replace with your office's proxy environment
    export"HTTP_PROXY=http://PROXY:PORT"
    export"HTTPS_PROXY=http://PROXY:PORT"
    
    # you can add more no_proxy with your environment.
    export"NO_PROXY=192.168.99.*,*.local,169.254/16,*.example.com,192.168.59.*"
    
  4. Saída

    docker@default:~$ exit
    
  5. Reiniciar a janela de encaixe

    docker-machine restart default
    
  6. Atualizar configurações do ambiente

    eval $(docker-machine env default)
    

As etapas acima são ligeiramente aprimoradas, mas conforme indicado no guia de solução de problemas: https://docs.docker.com/toolbox/faqs/troubleshoot/#/update-varlibboot2dockerprofile-on-the-docker-machine

Vidish Datta
fonte
No meu caso, funciona, mas eu removi export"HTTP_PROXY=http://PROXY:PORTe `... HTTPS_PROXY ...` porque a rede é acessada diretamente sem autenticação.
Muka
2

Encontrei exatamente o mesmo problema ontem e nenhuma das respostas "populares" (como corrigir o DNS para 8.8.8.8) funcionou para mim. Eventualmente, aconteceu através deste link, e isso fez o truque ... https://github.com/docker/for-win/issues/16

Entre o Docker para Windows, Windows 10 e Hyper-V, parece haver um problema durante o processo de criação do adaptador de rede virtual. Especificamente, você pode acabar com dois adaptadores de rede "vEthernet (DockerNAT)". Verifique isso com Get-NetAdapter "vEthernet (DockerNAT)"(em um console do PowerShell elevado). Se o resultado mostrar mais de um adaptador, você poderá desativá-lo e renomeá-lo com:

$vmNetAdapter = Get-VMNetworkAdapter -ManagementOS -SwitchName DockerNAT
Get-NetAdapter "vEthernet (DockerNAT)" | ? { $_.DeviceID -ne $vmNetAdapter.DeviceID } | Disable-NetAdapter -Confirm:$False -PassThru | Rename-NetAdapter -NewName "OLD"

Em seguida, abra o Gerenciador de dispositivos e exclua o adaptador desabilitado (por algum motivo, você pode fazer isso aqui, mas não na exibição de adaptadores da Central de Rede e Compartilhamento).

Peter-John
fonte
1

Presumo que você tenha um problema de rede. Você está atrás de um proxy? É possível que ele filtre a conexão aodocker.io ou bloqueie o agente do usuário do docker?

Instalei a caixa de ferramentas e executei seu teste. Funciona bem aqui:

docker is configured to use the default machine with IP 192.168.99.101
For help getting started, check out the docs at https://docs.docker.com

bash-3.2$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

535020c3e8ad: Pull complete 
af340544ed62: Already exists 
library/hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
Digest: sha256:d5fbd996e6562438f7ea5389d7da867fe58e04d581810e230df4cc073271ea52
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

bash-3.2$
0x7d7b
fonte
Eu reinstalei Docker-Toolbox e agora parece funcionar
daydreamer
1
Eu removi a máquina existente que criei usando a opção force e a recriei - isso funciona. docker-machine rm -f <machine_name>
user1189332
1

No Windows 10. Basta clicar com o botão direito do mouse no ícone do docker systray-> Configurações ... -> Descanso -> Reiniciar o Docker

argenisleon
fonte
0

Eu tive esse mesmo problema com o boot2docker e o corrigi reiniciando-o com:

boot2docker restart
sigget
fonte
O boot2docker está obsoleto
Ultrasaurus
0

Eu acabei de encontrar isso hoje com 1.10.1 e nenhuma das soluções existentes funcionou. Tentei reiniciar, atualizar, regenerar certs, ...

Percebi que eu tinha muitas redes criadas na máquina. Depois de removê-los com:

docker network ls | grep bridge | awk '{print $1}' | xargs -n1 docker network rm

O DNS começou a trabalhar novamente.

Nota: você pode ignorar erros sobre redes predefinidas

schmunk
fonte
0

Se você está atrás do proxy, não é suficiente definir HTTP_PROXYeHTTPS_PROXY enviar. Você deve configurá-lo durante a criação da máquina.

Paramer para isso é --engine-env:

docker-machine create -d "virtualbox" --engine-env HTTP_PROXY=http://<PROXY>:<PORT> --engine-env HTTPS_PROXY=<PROXY>:<PORT> dev
Walery Strauch
fonte
0

No meu caso, ao instalar o docker no Alpine Linux, recebo o erro:

A rede atingiu o tempo limite ao tentar conectar-se a https://index.docker.io/v1/repositories/library/ ........

Usando o script aqui: https://github.com/docker/docker/blob/master/contrib/download-frozen-image-v2.sh

Trabalho. Ele baixa a imagem usando curl e depois mostra como descompactar e 'carregar o docker'.

Eu tentei os métodos acima do DNS estático na 8.8.8.8 e desabilitei o ipv6 (não entendi o proxy) e nenhum deles funcionou para mim.

EDIT 9/8/2016:

Eu estava inicialmente usando dropbear em vez de openssh. O Alpine reinstalado com o openssh corrigiu o problema.

O próximo problema foi o erro 'ApplyLayer exit status 1 stdout: stderr: chmod / bin / mount: permissão negada' durante a extração.

De (nixaid.com/grsec-in-docker/):

Para criar a imagem do Docker, tive que desativar as seguintes proteções grsec. Modifique o /etc/sysctl.d/grsec.conf da seguinte maneira:

kernel.grsecurity.chroot_deny_chmod = 0 kernel.grsecurity.chroot_deny_mknod = 0 kernel.grsecurity.chroot_caps = 0 # relacionado a um pacote systemd / CAP_SETFCAP

no caso de alpine embora seja

/etc/sysctl.d/00-alpine.conf

reiniciar

5k3105
fonte
Sei que não é o caso aqui, mas para o futuro: desativar o IPv6 nunca é uma resposta correta. Se a desativação do IPv6 "consertar" um problema, o problema real está em outro lugar.
Stephen
0

Reiniciar o Docker ou recriar a imagem não ajudou. Eu reiniciei o Windows sem sucesso.

Surpreendentemente, quando entrei no container de corrida e curl https://index.docker.io/v1/repositories/library/hello-world/imagesrecebi uma resposta perfeitamente válida.

Usei a Docker Toolbox com o VirtualBox no Windows 10 Pro de 64 bits.

A solução no meu caso foi desinstalar a versão antiga do Docker e instalar a nova que usa o Hyper-V em vez do VirtualBox.

Agora o Docker funciona novamente.

Matthias Braun
fonte
0

Se você estiver atrás do proxy, use os comandos abaixo

sudo mkdir /etc/systemd/system/docker.service.d

sudo cd /etc/systemd/system/docker.service.d

sudo vi http-proxy.conf
[Service]

Environment=HTTP_PROXY=http://proxy-server-ip:port" "NO_PROXY=localhost,127.0.0.1"

sudo systemctl daemon-reload 

sudo systemctl show --property=Environment docker

sudo systemctl restart docker

Tente isso se você puder buscar o ubuntu mais recente

sudo docker run -it ubuntu bash

Não foi possível encontrar a imagem ubuntu:latestlocalmente

mais recente: Puxando da biblioteca / ubuntu b3e1c725a85f: Puxar concluído

4daad8bdde31: Puxar concluído

63fe8c0068a8: Puxar concluído

4a70713c436f: Puxar concluído

bd842a2105a8: Puxar concluído

Digerir:

sha256: 7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a

Status: imagem mais recente baixada para ubuntu: mais recente

Finalmente funcionou para mim :)

Rakesh Prashanth S
fonte
0

Outro cenário: se o seu adaptador de rede docker estiver desativado, ele falhará com esse erro. O adaptador é denominado "vEthernet (DockerNAT)" ou semelhante. Aparentemente, este adaptador está envolvido de alguma forma no comportamento normal de pull do docker. Habilite-o novamente para resolver o problema.

Yonatan
fonte
0

Crie um diretório drop-in systemd para o serviço docker:

$ sudo mkdir -p /etc/systemd/system/docker.service.d

Crie um arquivo chamado /etc/systemd/system/docker.service.d/http-proxy.confque adicione oHTTP_PROXY variável de ambiente:

[Serviço]

Environment="HTTP_PROXY=http://proxy.example.com:80/"

Espero que ajude

Suporte auxiLum
fonte
-1

No Windows, isso aconteceu quando mudei de uma rede de trabalho para uma rede doméstica.

Para resolvê-lo, execute:

  1. docker-machine stop
  2. docker-machine start
  3. docker-env
  4. "C:\Program Files\Docker Toolbox\docker-machine.exe" env | Invoke-Expression
Nir Weinberg
fonte