Https://index.docker.io ağına bağlanmaya çalışırken ağ zaman aşımına uğradı


204

Docker-Toolbox'ı şimdi web sayfalarını izlerken yükledim

Başladım Docker QuickStart Terminalve aşağıdakileri gördüm

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

Ama yapmaya çalıştığımda docker pull hello-world, gördüğüm şey bu

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$ 

Sorun nedir?

Yanıtlar:


482

Bu sabah aynı sorunu yaşadım ve aşağıdakiler benim için düzeltti:

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

Bu, Docker sanal makinesinin kendisini garip bir duruma getirmesinden kaynaklanıyor gibi görünüyor. Burada açık bir github sorunu var


3
Bu da benim için düzeltti ... ancak, her yeni terminal oturumunda tekrar çalıştırmam gerekiyor.
THX1137

17
İş LAN'ımdan ev LAN'ına geçiş yaptığımda oluyor gibi görünüyor. Belki DNS'ye evden ulaşılamaz.
taco

10
WiFi ağlarını değiştirdiğimde koptuğunu doğrulayabilirim. Docker'ı yeniden başlatmak her zaman düzeltir.
Stephen Harrison

3
Mükemmel, benim durumuma dahil etmek zorunda kaldım docker-machine regenerate-certs default.
rogeriopradoj

3
kutsal saçmalık, şimdi mantıklı. Ağ ayarlarını (wifi, lan, vpn, ev ağı, çalışma intraneti, iphone, ...) değiştirmek bu garip sorunlara neden olur.
nils petersohn

41

Docker'ı Toolbox olmadan Windows 10'a yükledim, bu nedenle Hyper-V gerektiren sürümün etkinleştirilmesi.

Docker sürüm 1.12 için Görev çubuğuna gitmek zorunda kaldım, Docker Simgesine sağ tıklayın, Ayarlar -> Ağ'ı seçin ve DNS Sunucusunu sabit olarak ayarlayın, böylece Google'ın DNS sunucusunu kullanır 8.8.8.8.

Bu ayar değiştirildikten sonra, sonunda çalıştı.


Sadece düzelttim ve sonra geri döndüm ve uygula düğmesine basın. Sabit bırakmaya gerek yoktu.
Philip Tinney

Benim durumumda, ağ ayarlarınızı DNS için 127.0.0.1 kullanacak şekilde ayarlayan OpenDNS şemsiye istemcim var. Docker, ayarları ağ kartınızdan kopyalıyor gibi görünüyor, bu nedenle localhost'u doğal olarak çalışmayan kendi DNS ayarlarına koyuyordu.
Richard Benson

Windows 10 üzerinde çalıştı
usta

16

Daha basit çözüm, / etc / default / docker dosyasına aşağıdaki girdiyi eklemektir

dışa aktar http_proxy = "http: // HOST: PORT /"

ve liman hizmetini yeniden başlatın

service docker yeniden başlatma


"Örnek" bir proxy sunucu olması gerekiyordu, karışıklığa neden olacağını beklemiyordum
pr-pal

2
Centos için, / etc / sysconfig / docker dosyasındadır.
Priyank Desai

MacOS için proxy yapılandırmalarını Docker Desktop'ın "Tercihler" -> "Proxy'leri" ne
manuel olarak girdim

8

Ağustos 2016 Güncellemesi

Mac için Docker (sürüm 1.12.0) kullanıldığında, formdaki sorunlar görülüyordu:

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

Bu sorun, MacBook Pro kablosuz ağ ayarlarımın aşağıdaki DNS girişini içerecek şekilde güncellenmesiyle çözüldü: 8.8.8.8

Daha fazla bilgi için lütfen burada verilen cevabı veren bu (tarihli) sayıya bakın .


7

VBOX 5.10 Docker VM ile MAC (ana bilgisayar) Docker çalışan bu sorunla karşılaştım. Bu bir ağ sorunudur. Basit düzeltme VBOX görüntüsüne köprülü bir ağ eklemektir. VM ile birlikte verilen NAT yapılandırmasını kullanabilirsiniz, ancak ssh portunu 50375'ten 2375'e değiştirmeniz gerekir.


1
Bu benim için çalıştı (Windows 10 Pro'da VirtualBox 5.0.10r104061). Benden daha yeni olan yenilere dikkat edin docker-machine stop default, ardından ağı VirtualBox yöneticisine ekleyin, ardından docker-machine start default(varsayılan olarak makinenizin adına gerektiği gibi değiştirin). İlk önce @ Mark-Smith'in basit yeniden başlatma + eval env önerisini denedim ve bu benim için yapmadı.
David Brown

@dbaOnTap Sen bir kahretsin arkadaşım. Bunu günlerce takıldım. Windows 10 Home'u VirtualBox Latest Test Build (5.0.15-10594) ve en son docker araç kutusu (1.10.0) ile çalıştırdığımda, bu benim için çalışan tek şeydi.
cudacoder

4
sudo service docker stop
sudo service docker start

benim için çalışıyor..

bir şekilde, sudo service docker restart çalışmadı

(RHEL7)


4

Windows 7'de ve proxy'nin arkasında olduğunuzu düşünüyorsanız

  1. Varsayılan makinede oturum açma

    $ docker-machine ssh default
    
  2. Proxy ayarlarını güncellemek için profili güncelle

    docker@default:~$ sudo vi /var/lib/boot2docker/profile
    
  3. Aşağıdan uygun şekilde ekleyin

    # 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. çıkış

    docker@default:~$ exit
    
  5. Docker makinesini yeniden başlat

    docker-machine restart default
    
  6. Ortam ayarlarını güncelleme

    eval $(docker-machine env default)
    

Yukarıdaki adımlar hafifçe düzeltilmiş ancak sorun giderme kılavuzunda belirtildiği gibi: https://docs.docker.com/toolbox/faqs/troraseot/#/update-varlibboot2dockerprofile-on-the-docker-machine


Benim durumumda çalışıyor, ama kaldırdım export"HTTP_PROXY=http://PROXY:PORTve `... HTTPS_PROXY ... 'çünkü ağa doğrudan kimlik doğrulaması olmadan erişiliyor.
Muka

2

Dün aynı sorunla karşılaştım ve "popüler" yanıtların hiçbiri (DNS'i 8.8.8.8'e sabitlemek gibi) benim için işe yaramadı. Sonunda bu bağlantıda oldum ve bu hile yaptı ... https://github.com/docker/for-win/issues/16

Windows için Docker, Windows 10 ve Hyper-V arasında, sanal ağ bağdaştırıcısı oluşturma işlemi sırasında bir sorun var gibi görünüyor. Özellikle, iki "vEthernet (DockerNAT)" ağ bağdaştırıcısı olabilir. Bunu Get-NetAdapter "vEthernet (DockerNAT)"(yükseltilmiş bir PowerShell konsolunda) ile işaretleyin. Sonuç birden fazla bağdaştırıcı gösteriyorsa, aşağıdakilerle devre dışı bırakıp yeniden adlandırabilirsiniz:

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

Ardından Aygıt Yöneticisi'ni açın ve devre dışı bırakılmış bağdaştırıcıyı silin (bazı nedenlerden dolayı bunu buradan yapabilirsiniz, ancak Ağ ve Paylaşım Merkezi bağdaştırıcıları görünümünden yapamazsınız).


1

Bir ağ sorununuz olduğunu varsayalım. Proxy'nin arkasında mısınız? docker.ioLiman işçisi kullanıcı aracısına bağlantıyı filtrelemesi veya engellemesi mümkün mü?

Araç kutusunu kurdum ve testini yaptım. Burada iyi çalışıyor:

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$

Docker-Toolbox'ı yeniden kurdum ve şimdi çalışıyor gibi görünüyor
daydreamer

1
Güç seçeneğini kullanarak oluşturduğum mevcut makineyi kaldırdım ve yeniden yarattım - işe yarıyor. docker-machine rm -f <machine_name>
user1189332

1

Windows 10'da. Systray docker simgesine sağ tıklayın-> Ayarlar ... -> Rest -> Restrart Docker


0

Boot2docker ile aynı sorunu vardı ve ile yeniden başlatarak sabit:

boot2docker restart

boot2docker kullanımdan kaldırıldı
Ultrasaurus

0

Bugün bununla 1.10.1 ve mevcut çözümlerin hiçbiri işe yaramadı. Certs'i yeniden başlatmaya, yükseltmeye, yenilemeye çalıştım ...

Makinede çok sayıda ağım olduğunu fark ettim. Bunları çıkardıktan sonra:

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

DNS tekrar çalışmaya başladı.

Not: Önceden tanımlanmış ağlarla ilgili hataları yoksayabilirsiniz


0

Proxy'nin arkasındaysanız, ayarlamak HTTP_PROXYve HTTPS_PROXYenv için yeterli değildir . Makine oluşturulurken ayarlamanız gerekir.

Bunun için paramer --engine-env:

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

0

Benim durumumda, Alpine Linux'a docker yüklerken hatayı alıyorum:

Https://index.docker.io/v1/repositories/library/ ........ adresine bağlanmaya çalışırken ağ zaman aşımına uğradı

Komut dosyasını burada kullanmak: https://github.com/docker/docker/blob/master/contrib/download-frozen-image-v2.sh

İşler. Kıvrımı kullanarak görüntüyü indirir ve nasıl açılacağını ve 'liman işçisinin nasıl yükleneceğini' gösterir.

Yukarıdaki 8.8.8.8 statik DNS yöntemlerini denedim ve ipv6'yı devre dışı bıraktım (proxy şeyi anlamadım) ve hiçbiri benim için çalışmadı.

8/9/2016 DÜZENLE:

Başlangıçta openssh yerine dropbear kullanıyordum. OpenSH ile yeniden yüklenen Alpine sorunu çözdü.

Bir sonraki sorun çekme sırasında 'ApplyLayer çıkış durumu 1 stdout: stderr: chmod / bin / mount: izin reddedildi' hatasıydı.

(Nixaid.com/grsec-in-docker/) adresinden:

Docker görüntüsünü oluşturmak için aşağıdaki grsec korumalarını devre dışı bırakmak zorunda kaldım. /Etc/sysctl.d/grsec.conf dosyasını aşağıdaki gibi değiştirin:

kernel.grsecurity.chroot_deny_chmod = 0 kernel.grsecurity.chroot_deny_mknod = 0 kernel.grsecurity.chroot_caps = 0 # bir sistemd paketi ile ilgili / CAP_SETFCAP

yine de alpinin durumunda

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

reboot


Burada durumun farkında değilim, ama gelecek için: IPv6'yı devre dışı bırakmak asla doğru bir cevap değildir. IPv6'nın devre dışı bırakılması bir sorunu "düzeltirse", asıl sorun başka yerlerde yatar.
Stephen

0

Docker'ı yeniden başlatmak veya görüntüyü yeniden oluşturmak yardımcı olmadı. Windows'u boşuna yeniden başlattım.

Şaşırtıcı bir şekilde, koşan konteynere ssh'ed ve curl https://index.docker.io/v1/repositories/library/hello-world/imagesmükemmel geçerli bir yanıt aldım.

Ben kullanılan Docker Toolbox64bit Windows 10 Pro'da VirtualBox ile .

Benim durumumdaki çözüm, eski Docker sürümünü kaldırmak ve Hyper-V kullanan yenisini yüklemekti VirtualBox yerine .

Şimdi Docker tekrar çalışıyor.


0

Proxy'nin arkasındaysanız lütfen aşağıdaki komutları kullanın

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

En son ubuntu getirebilirseniz bunu deneyin

sudo docker run -it ubuntu bash

Görüntü ubuntu:latestyerel olarak bulunamıyor

En son: Kütüphaneden çekme / Ubuntu B3E1C725A85F: Çekme tamamlandı

4daad8bdde31: Çekme tamamlandı

63fe8c0068a8: Çekme tamamlandı

4a70713c436f: Çekme tamamlandı

bd842a2105a8: Çekme tamamlandı

Sindirmek:

sha256: 7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a

Durum: Ubuntu için daha yeni resim indirildi

Sonunda benim için çalıştı :)


0

Başka bir senaryo: docker ağ bağdaştırıcınız devre dışı bırakıldıysa, bu hatayla başarısız olur. Bağdaştırıcı "vEthernet (DockerNAT)" veya benzeri olarak adlandırılır. Görünüşe göre bu bağdaştırıcı bir şekilde normal docker çekme davranışında yer alıyor. Sorunu çözmek için tekrar etkinleştirin.


0

Docker hizmeti için bir systemd açılır dizini oluşturun:

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

Ortam değişkenini /etc/systemd/system/docker.service.d/http-proxy.confekleyen adlı bir dosya oluşturun HTTP_PROXY:

[Hizmet]

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

Umarım yardımcı olur


-1

Windows'ta bu bir iş ağından ev ağına geçtiğimde oldu.

Çözmek için şunu çalıştırın:

  1. docker-machine stop
  2. docker-machine start
  3. docker-env
  4. "C:\Program Files\Docker Toolbox\docker-machine.exe" env | Invoke-Expression
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.