Jaringan kehabisan waktu saat mencoba terhubung ke https://index.docker.io


204

Saya menginstal Docker-Toolbox sekarang sambil mengikuti halaman web mereka

Saya mulai dengan Docker QuickStart Terminaldan melihat berikut

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

Tetapi ketika saya mencoba tampil docker pull hello-world, inilah yang saya lihat

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$ 

Apa yang salah?

Jawaban:


482

Saya memiliki masalah yang sama pagi ini dan yang berikut memperbaikinya untuk saya:

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

Tampaknya ini karena mesin virtual Docker masuk ke keadaan aneh. Ada masalah github terbuka di sini


3
Ini juga memperbaikinya bagi saya ... namun, saya harus memutarnya kembali dengan setiap sesi terminal baru.
THX1137

17
Tampaknya terjadi ketika saya beralih dari LAN pekerjaan saya ke LAN rumah. Mungkin DNS tidak bisa dijangkau dari rumah.
taco

10
Saya dapat mengkonfirmasi itu rusak ketika saya mengubah jaringan WiFi. Restart Docker selalu memperbaikinya.
Stephen Harrison

3
Sempurna, dalam kasus saya, saya harus memasukkan docker-machine regenerate-certs default.
rogeriopradoj

3
omong kosong, itu masuk akal sekarang. Beralih pengaturan jaringan (wifi, ke lan, ke vpn, jaringan rumah, intranet kerja, iphone, ...) menyebabkan masalah aneh ini.
nils petersohn

41

Saya menginstal Docker tanpa Toolbox pada Windows 10, jadi versi yang membutuhkan Hyper-V harus diaktifkan.

Untuk Docker versi 1.12 saya harus masuk ke taskbar, klik kanan Docker Icon, pilih Settings -> Network dan atur Server DNS untuk diperbaiki, sehingga menggunakan server DNS Google di 8.8.8.8.

Setelah pengaturan itu diubah, akhirnya berhasil.


Saya baru saja beralih ke memperbaiki dan kemudian beralih kembali dan tekan berlaku. Tidak perlu membiarkannya diperbaiki.
Philip Tinney

Dalam kasus saya, saya memiliki klien payung OpenDNS diinstal yang menetapkan pengaturan jaringan Anda untuk menggunakan 127.0.0.1 untuk DNS. Docker tampaknya menyalin pengaturan dari kartu jaringan Anda, jadi menempatkan localhost ke pengaturan DNS itu sendiri yang secara alami tidak akan berfungsi.
Richard Benson

Bekerja pada windows 10
master

16

Solusi sederhana adalah dengan menambahkan entri berikut dalam / etc / default / buruh pelabuhan berkas

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

dan restart layanan buruh pelabuhan

service docker restart


Itu dimaksudkan untuk menjadi server "contoh" proxy, tidak berharap bahwa itu akan menyebabkan kebingungan
pr-pal

2
Untuk centos, file ini ada di file / etc / sysconfig / docker.
Priyank Desai

Untuk MacOS, saya secara manual memasukkan konfigurasi proksi ke dalam "Preferensi" Docker Desktop -> "Proxy"
user1394

8

Perbarui Agustus 2016

Menggunakan Docker untuk Mac (versi 1.12.0), sedang melihat masalah formulir:

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

Ini diselesaikan dengan memperbarui pengaturan jaringan nirkabel MacBook Pro saya untuk memasukkan entri DNS berikut: 8.8.8.8

Untuk info lebih lanjut, silakan lihat ini (tanggal) masalah yang disediakan jawaban yang diberikan di sini.


7

Saya mengalami masalah ini menjalankan Docker pada MAC saya (host) dengan Docker VM di VBOX 5.10. Ini masalah jaringan. Perbaikan sederhana adalah menambahkan jaringan yang dijembatani ke gambar VBOX. Anda dapat menggunakan hadir konfigurasi NAT yang disertakan dengan VM, tetapi Anda perlu mengubah port ssh dari 50375 menjadi 2375.


1
Inilah yang bekerja untuk saya (VirtualBox 5.0.10r104061 pada Windows 10 Pro). Catatan untuk pemula yang lebih baru dari saya, Anda harus docker-machine stop default, kemudian tambahkan jaringan di manajer VirtualBox, kemudian docker-machine start default(mengubah default ke nama mesin Anda sebagaimana diperlukan). Saya telah mencoba @ Mark-Smith's restart sederhana + saran eval env pertama dan itu tidak melakukannya untuk saya.
David Brown

@dbaOnTap Anda adalah anugerah teman saya. Saya sudah terjebak dalam hal ini selama berhari-hari. Menjalankan Windows 10 Home dengan VirtualBox Latest Test Build (5.0.15-10594) dan docker toolbox terbaru (1.10.0), ini adalah satu-satunya hal yang bekerja untuk saya.
cudacoder

4
sudo service docker stop
sudo service docker start

bekerja untukku ..

entah bagaimana, sudo service docker restarttidak berhasil

(RHEL7)


4

Pada Windows 7 dan jika Anda yakin Anda berada di belakang proxy

  1. Masuk ke mesin default

    $ docker-machine ssh default
    
  2. Perbarui profil untuk memperbarui pengaturan proxy

    docker@default:~$ sudo vi /var/lib/boot2docker/profile
    
  3. Tambahkan dari bawah sesuai keperluan

    # 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. Keluar

    docker@default:~$ exit
    
  5. Mulai ulang mesin buruh pelabuhan

    docker-machine restart default
    
  6. Perbarui pengaturan lingkungan

    eval $(docker-machine env default)
    

Langkah-langkah di atas sedikit diubah tetapi seperti yang diberikan dalam panduan pemecahan masalah: https://docs.docker.com/toolbox/faqs/troubleshoot/#/update-varlibboot2dockerprofile-on-the-docker-machine


Dalam kasus saya, berfungsi, tetapi saya menghapus export"HTTP_PROXY=http://PROXY:PORTdan `... HTTPS_PROXY ...` karena internet diakses secara langsung tanpa auth.
Muka

2

Saya mengalami masalah yang sama persis kemarin dan tidak ada jawaban "populer" (seperti memperbaiki DNS ke 8.8.8.8) yang berfungsi untuk saya. Saya akhirnya menemukan tautan ini, dan itu berhasil ... https://github.com/docker/for-win/issues/16

Antara Docker untuk Windows, Windows 10 dan Hyper-V, tampaknya ada masalah selama proses pembuatan adapter jaringan virtual. Khususnya, Anda mungkin berakhir dengan dua adapter jaringan "vEthernet (DockerNAT)". Periksa ini dengan Get-NetAdapter "vEthernet (DockerNAT)"(di konsol PowerShell yang ditinggikan). Jika hasilnya menunjukkan lebih dari satu adaptor, Anda dapat menonaktifkan dan menamainya dengan:

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

Kemudian buka Device Manager dan hapus adaptor yang dinonaktifkan (untuk beberapa alasan Anda dapat melakukan ini dari sini, tetapi tidak dari tampilan adapter Network and Sharing Center).


1

Saya berasumsi bahwa Anda memiliki masalah jaringan. Apakah Anda di belakang proxy? Apakah mungkin itu menyaring koneksi ke docker.ioatau memblokir agen pengguna buruh pelabuhan?

Saya menginstal kotak alat dan menjalankan tes Anda. Ini berfungsi dengan baik, di sini:

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$

Saya menginstal ulang Docker-Toolbox dan sekarang tampaknya berfungsi
daydreamer

1
Saya menghapus mesin yang ada yang saya buat menggunakan opsi gaya dan membuatnya kembali - itu bekerja. docker-machine rm -f <machine_name>
user1189332

1

Pada Windows 10. Cukup klik kanan pada ikon docker systray-> Pengaturan ... -> Istirahat -> Restrart Docker


0

Saya punya masalah yang sama dengan boot2docker dan memperbaikinya dengan me-restart dengan:

boot2docker restart

boot2docker sudah tidak digunakan lagi
Ultrasaurus

0

Saya hanya mengalami ini hari ini dengan 1.10.1dan tidak ada solusi yang ada yang berhasil. Saya mencoba memulai kembali, memutakhirkan, membuat ulang sertifikat, ...

Saya perhatikan bahwa saya memiliki banyak jaringan yang dibuat di mesin. Setelah menghapusnya dengan:

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

DNS mulai bekerja lagi.

Catatan: Anda dapat mengabaikan kesalahan tentang jaringan yang ditentukan sebelumnya


0

Jika Anda berada di belakang proxy, itu tidak cukup untuk mengatur HTTP_PROXYdan HTTPS_PROXYenv. Anda harus mengaturnya saat membuat mesin.

Paramer untuk ini adalah --engine-env:

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

0

Dalam kasus saya, menginstal buruh pelabuhan di Alpine Linux saya mendapatkan kesalahan:

Jaringan kehabisan waktu saat mencoba terhubung ke https://index.docker.io/v1/repositories/library/ ........

Menggunakan skrip di sini: https://github.com/docker/docker/blob/master/contrib/download-frozen-image-v2.sh

Bekerja Ini mengunduh gambar menggunakan curl dan kemudian menunjukkan kepada Anda cara membuka dan 'memuat docker' itu.

Saya mencoba metode statis DNS di atas pada 8.8.8.8 dan menonaktifkan ipv6 (saya tidak mengerti masalah proxy) dan tidak ada yang bekerja untuk saya.

EDIT 9/8/2016:

Saya awalnya menggunakan dropbear bukan openssh. Diinstal ulang Alpine dengan openssh memperbaiki masalah.

Masalah berikutnya adalah kesalahan 'Status keluar ApplyLayer 1 stdout: stderr: chmod / bin / mount: kesalahan ditolak izin' saat menarik.

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

Untuk membangun gambar Docker, saya harus menonaktifkan perlindungan grsec berikut. Ubah /etc/sysctl.d/grsec.conf sebagai berikut:

kernel.grsecurity.chroot_deny_chmod = 0 kernel.grsecurity.chroot_deny_mknod = 0 kernel.grsecurity.chroot_caps = 0 # terkait dengan paket systemd / CAP_SETFCAP

dalam kasus alpine meskipun begitu

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

reboot


Saya menyadari ini bukan masalahnya di sini, tetapi untuk masa depan: menonaktifkan IPv6 tidak pernah merupakan jawaban yang benar. Jika menonaktifkan IPv6 pernah "memperbaiki" masalah, masalah sebenarnya ada di tempat lain.
Stephen

0

Memulai kembali Docker atau membuat ulang gambar tidak membantu. Saya reboot Windows tanpa hasil.

Yang mengejutkan, ketika saya ssh'ed ke dalam wadah berjalan dan apakah curl https://index.docker.io/v1/repositories/library/hello-world/imagessaya mendapat respons yang benar-benar valid.

Saya menggunakan Docker Toolbox dengan VirtualBox pada 64bit Windows 10 Pro.

Solusi dalam kasus saya adalah mencopot versi Docker lama dan menginstal yang baru yang menggunakan Hyper-V bukan VirtualBox.

Sekarang Docker berfungsi kembali.


0

Jika Anda berada di belakang proxy, silakan gunakan perintah di bawah ini

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

Coba ini jika Anda dapat mengambil ubuntu terbaru

sudo docker run -it ubuntu bash

Tidak dapat menemukan gambar ubuntu:latestsecara lokal

terbaru: Menarik dari perpustakaan / ubuntu b3e1c725a85f: Tarik selesai

4daad8bdde31: Tarik selesai

63fe8c0068a8: Tarik selesai

4a70713c436f: Tarik selesai

bd842a2105a8: Tarik selesai

Intisari:

sha256: 7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a

Status: Unduh gambar yang lebih baru untuk ubuntu: terbaru

Akhirnya berhasil bagi saya :)


0

Skenario lain: jika adaptor jaringan buruh pelabuhan Anda dinonaktifkan, itu akan gagal dengan kesalahan ini. Adaptor bernama "vEthernet (DockerNAT)" atau serupa. Rupanya adaptor ini terlibat entah bagaimana dalam perilaku tarik buruh pelabuhan normal. Aktifkan kembali untuk menyelesaikan masalah.


0

Buat direktori drop-in systemd untuk layanan buruh pelabuhan:

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

Buat file bernama /etc/systemd/system/docker.service.d/http-proxy.confyang menambahkanHTTP_PROXY variabel lingkungan:

[Layanan]

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

Semoga ini bisa membantu


-1

Di Windows ini terjadi ketika saya pindah dari jaringan kerja ke jaringan rumah.

Untuk mengatasinya, jalankan:

  1. docker-machine stop
  2. docker-machine start
  3. docker-env
  4. "C:\Program Files\Docker Toolbox\docker-machine.exe" env | Invoke-Expression
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.