Przekroczono limit czasu sieci podczas próby połączenia z https://index.docker.io


204

Właśnie zainstalowałem Docker-Toolbox , śledząc ich stronę internetową

Zacząłem od Docker QuickStart Terminali zobaczę następujące

                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ 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$ 

Ale kiedy próbuję występować docker pull hello-world, właśnie to widzę

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$ 

Co jest nie tak?

Odpowiedzi:


482

Miałem ten sam problem dziś rano i naprawiłem to:

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

Wygląda na to, że jest to spowodowane dziwnym stanem maszyny wirtualnej Docker. Tutaj jest otwarty problem z githubem


3
Naprawiłem to również dla mnie ... jednak muszę go uruchamiać przy każdej nowej sesji terminalu.
THX1137

17
Wydaje się, że tak się stanie, gdy przełączę się z mojej lokalnej sieci LAN na domową sieć LAN. Może DNS jest nieosiągalny z domu.
taco

10
Mogę potwierdzić, że się psuje, kiedy zmieniam sieci Wi-Fi. Ponowne uruchomienie Dockera zawsze to naprawia.
Stephen Harrison

3
Idealnie, w moim przypadku musiałem to uwzględnić docker-machine regenerate-certs default.
rogeriopradoj

3
cholera, teraz wszystko ma sens. Przełączanie ustawień sieciowych (Wi-Fi, LAN, VPN, sieć domowa, praca w intranecie, iPhone, ...) powoduje te dziwne problemy.
nils petersohn

41

Zainstalowałem Dockera bez Zestawu narzędzi w Windows 10, więc wersja wymagająca Hyper-V musi być włączona.

W przypadku wersji Docker 1.12 musiałem przejść do paska zadań, kliknąć prawym przyciskiem myszy ikonę Docker, wybrać Ustawienia -> Sieć i ustawić Serwer DNS na stały, tak aby korzystał z serwera DNS Google 8.8.8.8.

Po zmianie tego ustawienia w końcu zadziałało.


Właśnie przełączyłem na naprawiony, a następnie przełączyłem go z powrotem i włączyłem. Nie musiałem pozostawić go naprawionego.
Philip Tinney,

W moim przypadku mam zainstalowanego klienta parasolowego OpenDNS, który ustawia twoje ustawienia sieciowe na używanie 127.0.0.1 dla DNS. Wygląda na to, że Docker kopiuje ustawienia z karty sieciowej, więc wprowadził localhost do własnych ustawień DNS, co oczywiście nie zadziała.
Richard Benson

Pracował w systemie Windows 10
master

16

Im prostsze rozwiązanie, aby dodać następujący wpis w etc / default / / Docker pliku

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

i uruchom ponownie usługę dokowania

restart dokera usługi


Miał być „przykładowym” serwerem proxy, nie spodziewał się, że spowoduje zamieszanie
pr-pal

2
W przypadku centos znajduje się w pliku / etc / sysconfig / docker.
Priyank Desai

W systemie MacOS ręcznie wprowadziłem konfiguracje serwera proxy w „Preferencjach” Docker Desktop -> „Proxy”
1394,

8

Aktualizacja sierpnia 2016 r

Za pomocą Docker na komputery Mac (wersja 1.12.0) pojawiały się problemy z formularzem:

➜  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`

Rozwiązano ten problem, aktualizując ustawienia mojej sieci bezprzewodowej MacBook Pro, tak aby zawierały następujący wpis DNS: 8.8.8.8

Aby uzyskać więcej informacji, zobacz ten (przestarzały) problem, który zawierał odpowiedź podaną tutaj.


7

Napotkałem ten problem podczas uruchamiania Dockera na moim MAC (hoście) z Docker VM w VBOX 5.10. Jest to problem z siecią. Prostym rozwiązaniem jest dodanie zmostkowanej sieci do obrazu VBOX. Możesz użyć dołączonej konfiguracji NAT obecnej z maszyną wirtualną, ale musisz zmienić port ssh z 50375 na 2375.


1
To działało dla mnie (VirtualBox 5.0.10r104061 na Windows 10 Pro). Uwaga początkującym nowszym ode mnie, że musisz to zrobić docker-machine stop default, a następnie dodaj sieć do menedżera VirtualBox, a następnie docker-machine start default(w razie potrzeby zmień domyślną nazwę komputera). Najpierw wypróbowałem prostą sugestię @ Mark-Smith + restart env env i to mi nie pomogło.
David Brown

@dbaOnTap Jesteś darem niebios, przyjacielu. Utknąłem na tym od wielu dni. W systemie Windows 10 Home z najnowszą wersją testową VirtualBox (5.0.15-10594) i najnowszym zestawem narzędzi dokujących (1.10.0) to dla mnie jedyna rzecz.
cudacoder

4
sudo service docker stop
sudo service docker start

pracuje dla mnie..

jakoś sudo service docker restartnie działało

(RHEL7)


4

W systemie Windows 7 i jeśli uważasz, że jesteś za serwerem proxy

  1. Zaloguj się do domyślnego komputera

    $ docker-machine ssh default
    
  2. Zaktualizuj profil, aby zaktualizować ustawienia proxy

    docker@default:~$ sudo vi /var/lib/boot2docker/profile
    
  3. Dołącz odpowiednio od dołu

    # 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. Wyjście

    docker@default:~$ exit
    
  5. Uruchom ponownie maszynę dokującą

    docker-machine restart default
    
  6. Zaktualizuj ustawienia środowiska

    eval $(docker-machine env default)
    

Powyższe kroki zostały nieco poprawione, ale zgodnie z instrukcją rozwiązywania problemów: https://docs.docker.com/toolbox/faqs/troubleshoot/#/update-varlibboot2dockerprofile-on-the-docker-machine


W moim przypadku działa, ale usunąłem export"HTTP_PROXY=http://PROXY:PORTi `... HTTPS_PROXY ...`, ponieważ dostęp do sieci jest bezpośredni bez autoryzacji.
Muka

2

Wczoraj napotkałem dokładnie ten sam problem i żadna z „popularnych” odpowiedzi (takich jak ustalenie DNS na 8.8.8.8) nie działała dla mnie. W końcu trafiłem na ten link i to załatwiło sprawę ... https://github.com/docker/for-win/issues/16

Pomiędzy Dockerem dla Windows, Windows 10 i Hyper-V wydaje się, że jest problem podczas procesu tworzenia wirtualnej karty sieciowej. W szczególności mogą pojawić się dwie karty sieciowe „vEthernet (DockerNAT)”. Sprawdź to za pomocą Get-NetAdapter "vEthernet (DockerNAT)"(w podwyższonej konsoli PowerShell). Jeśli wynik pokazuje więcej niż jeden adapter, możesz go wyłączyć i zmienić jego nazwę za pomocą:

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

Następnie otwórz Menedżera urządzeń i usuń wyłączony adapter (z jakiegoś powodu możesz to zrobić tutaj, ale nie z widoku adapterów Network and Sharing Center).


1

Zakładam, że masz problem z siecią. Czy jesteś za proxy? Czy to możliwe, że filtruje połączenie docker.iolub blokuje agenta użytkownika dokera?

Zainstalowałem przybornik i uruchomiłem test. Działa dobrze, tutaj:

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$

Ponownie zainstalowałem Docker-Toolbox i teraz wydaje się, że działa
marzyciel

1
Usunąłem istniejącą maszynę, którą utworzyłem za pomocą opcji wymuszenia i odtworzyłem ją - to działa. docker-machine rm -f <machine_name>
user1189332,

1

W systemie Windows 10. Kliknij prawym przyciskiem myszy ikonę dokowanego paska zadań-> Ustawienia ... -> Odpoczynek -> Restrart Docker


0

Miałem ten sam problem z boot2docker i naprawiłem go poprzez ponowne uruchomienie za pomocą:

boot2docker restart

boot2docker jest przestarzały
Ultrasaurus

0

Właśnie wpadłem na to dzisiaj 1.10.1i żadne z istniejących rozwiązań nie zadziałało. Próbowałem ponownie uruchomić, zaktualizować, zregenerować certyfikaty, ...

Zauważyłem, że na komputerze mam wiele sieci. Po ich usunięciu za pomocą:

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

DNS zaczął ponownie działać.

Uwaga: Możesz zignorować błędy dotyczące wstępnie zdefiniowanych sieci


0

Jeśli jesteś za serwerem proxy, nie wystarczy ustawić HTTP_PROXYiHTTPS_PROXY env. Powinieneś to ustawić podczas tworzenia komputera.

Paramer do tego jest --engine-env:

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

0

W moim przypadku podczas instalowania dokera w systemie Alpine Linux pojawia się błąd:

Przekroczono limit czasu sieci podczas próby połączenia z https://index.docker.io/v1/repositories/library/ ........

Za pomocą skryptu tutaj: https://github.com/docker/docker/blob/master/contrib/download-frozen-image-v2.sh

Pracuje. Pobiera obraz za pomocą zawijania, a następnie pokazuje, jak go rozpakować i „załadować” dokera.

Próbowałem powyższych metod statycznego DNS w wersji 8.8.8.8 i wyłączając ipv6 (nie rozumiałem proxy) i żadna z nich nie działała dla mnie.

EDYCJA 9.08.2016:

Początkowo używałem dropbear zamiast openssh. Ponownie zainstalowany Alpine z openssh naprawił problem.

Następnym problemem był błąd „Wyjście ze stanu ApplyLayer 1 stdout: stderr: chmod / bin / mount: pozwolenie odrzucone” podczas ściągania.

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

Aby zbudować obraz Dockera, musiałem wyłączyć następujące zabezpieczenia grsec. Zmodyfikuj plik /etc/sysctl.d/grsec.conf w następujący sposób:

kernel.grsecurity.chroot_deny_chmod = 0 kernel.grsecurity.chroot_deny_mknod = 0 kernel.grsecurity.chroot_caps = 0 # związany z pakietem systemd / CAP_SETFCAP

w przypadku alpine jest jednak

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

restart


Zdaję sobie sprawę, że tak nie jest, ale w przyszłości: wyłączenie IPv6 nigdy nie jest poprawną odpowiedzią. Jeśli wyłączenie IPv6 kiedykolwiek „naprawi” problem, prawdziwy problem leży gdzie indziej.
Stephen

0

Ponowne uruchomienie Dockera lub odtworzenie obrazu nie pomogło. Ponownie uruchomiłem system Windows bezskutecznie.

Zdumiewające, gdy wbiegłem do działającego kontenera i curl https://index.docker.io/v1/repositories/library/hello-world/imagesdostałem idealnie prawidłową odpowiedź.

Korzystałem z Docker Toolbox z VirtualBox na 64-bitowym systemie Windows 10 Pro.

Rozwiązaniem w moim przypadku było odinstalowanie starej wersji Dockera i zainstalowanie nowej, która używa Hyper-V zamiast VirtualBox.

Teraz Docker znów działa.


0

Jeśli jesteś za proxy, użyj poniższych poleceń

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

Spróbuj tego, jeśli możesz pobrać najnowszą wersję Ubuntu

sudo docker run -it ubuntu bash

Nie można znaleźć obrazu ubuntu:latestlokalnie

najnowsze: pobieranie z biblioteki / ubuntu b3e1c725a85f: pobieranie zakończone

4daad8bdde31: Pull complete

63fe8c0068a8: Pull complete

4a70713c436f: Pull complete

bd842a2105a8: Pull complete

Strawić:

sha256: 7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a

Status: Pobrano nowszy obraz dla Ubuntu: najnowszy

W końcu mi się udało :)


0

Kolejny scenariusz: jeśli Twoja karta sieciowa dokera jest wyłączona, wystąpi błąd przy tym błędzie. Adapter ma nazwę „vEthernet (DockerNAT)” lub podobny. Najwyraźniej ten adapter jest w jakiś sposób zaangażowany w normalne zachowanie ściągacza dokera. Włącz ponownie, aby rozwiązać problem.


0

Utwórz systemowy katalog rozwijany dla usługi dokowania:

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

Utwórz plik o nazwie, /etc/systemd/system/docker.service.d/http-proxy.confktóry dodaje HTTP_PROXYzmienną środowiskową:

[Usługa]

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

Mam nadzieję, że to pomoże


-1

W systemie Windows tak się stało, gdy przeniosłem się z sieci służbowej do sieci domowej.

Aby go rozwiązać, uruchom:

  1. docker-machine stop
  2. docker-machine start
  3. docker-env
  4. "C:\Program Files\Docker Toolbox\docker-machine.exe" env | Invoke-Expression
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.