เครือข่ายหมดเวลาขณะพยายามเชื่อมต่อกับ https://index.docker.io


204

ฉันติดตั้งDocker-Toolboxในขณะนี้ขณะที่ติดตามหน้าเว็บของพวกเขา

ฉันเริ่มDocker QuickStart Terminalและดูต่อไปนี้

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

แต่เมื่อฉันพยายามแสดงdocker pull hello-worldนี่คือสิ่งที่ฉันเห็น

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$ 

เกิดอะไรขึ้น

คำตอบ:


482

ฉันมีปัญหาเดียวกันในเช้าวันนี้และต่อไปนี้แก้ไขได้สำหรับฉัน:

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

ดูเหมือนว่านี่เป็นเพราะเครื่องเสมือนของ Docker ทำให้ตัวมันเองอยู่ในสภาวะที่แปลก มีปัญหา GitHub ที่เปิดอยู่ที่นี่


3
สิ่งนี้ได้แก้ไขให้ฉันด้วย ... อย่างไรก็ตามฉันต้องเรียกใช้ซ้ำกับเทอร์มินัลเซสชันใหม่ทุกครั้ง
THX1137

17
ดูเหมือนว่าจะเกิดขึ้นเมื่อฉันสลับจาก LAN ที่ทำงานของฉันไปที่ LAN ที่บ้าน บางที DNS ไม่สามารถเข้าถึงได้จากที่บ้าน
taco

10
ฉันสามารถยืนยันได้ว่าจะหยุดพักเมื่อฉันเปลี่ยนเครือข่าย WiFi การรีสตาร์ท Docker แก้ไขได้เสมอ
สตีเฟ่นแฮร์ริสัน

3
docker-machine regenerate-certs defaultที่สมบูรณ์แบบในกรณีของฉันฉันมีการรวม
rogeriopradoj

3
อึศักดิ์สิทธิ์มันทำให้รู้สึกทั้งหมดในขณะนี้ การสลับการตั้งค่าเครือข่าย (WiFi, เป็น LAN, เป็น VPN, เครือข่ายในบ้าน, อินทราเน็ตทำงาน, iPhone, ... ) ทำให้เกิดปัญหาแปลก ๆ เหล่านี้
nils petersohn

41

ฉันติดตั้ง Docker โดยไม่มี Toolbox บน Windows 10 ดังนั้นรุ่นที่ต้องเปิดใช้งาน Hyper-V

สำหรับนักเทียบท่ารุ่น 1.12 ผมต้องไปลงในแถบงานคลิกที่เหมาะสมหางไอคอนเลือก Settings -> เครือข่ายและการตั้งค่าเซิร์ฟเวอร์ DNS ที่จะได้รับการแก้ไขเพื่อให้เป็นใช้เซิร์ฟเวอร์ DNS ของ Google 8.8.8.8ได้ที่

เมื่อการตั้งค่านั้นเปลี่ยนไปในที่สุดก็ใช้งานได้


ฉันเพิ่งเปลี่ยนไปใช้การแก้ไขแล้วสลับกลับมาและกดใช้ ไม่จำเป็นต้องแก้ไข
Philip Tinney

ในกรณีของฉันฉันได้ติดตั้งไคลเอนต์ OpenDNS ซึ่งตั้งค่าเครือข่ายของคุณให้ใช้ 127.0.0.1 สำหรับ DNS ดูเหมือนว่านักเทียบท่าจะคัดลอกการตั้งค่าจากการ์ดเครือข่ายของคุณดังนั้นให้วาง localhost ไว้ในการตั้งค่า DNS ของตัวเองซึ่งโดยธรรมชาติจะไม่ทำงาน
Richard Benson

ทำงานบน windows 10
master

16

วิธีการแก้ปัญหาที่ง่ายคือการเพิ่มรายการต่อไปนี้ในetc / / default / นักเทียบท่าไฟล์

ส่งออก http_proxy = "http: // HOST: PORT /"

และรีสตาร์ทเซอร์วิสตัวเทียบท่า

เริ่มบริการนักเทียบท่า


มันหมายถึงการเป็น "ตัวอย่าง" ร็อกซี่เซิร์ฟเวอร์ไม่ได้คาดหวังว่ามันจะทำให้เกิดความสับสน
PR-เพื่อน

2
สำหรับ centos จะอยู่ในไฟล์ / etc / sysconfig / docker
Priyank Desai

สำหรับ MacOS ฉันได้ป้อนการกำหนดค่าพร็อกซีลงใน "Preferences" -> "Proxies" ของ Docker Desktop
user1394

8

อัปเดตสิงหาคม 2559

การใช้ Docker สำหรับ Mac (รุ่น 1.12.0) พบปัญหาของแบบฟอร์ม:

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

ปัญหานี้ได้รับการแก้ไขโดยอัปเดตการตั้งค่าเครือข่ายไร้สาย MacBook Pro ของฉันเพื่อรวมรายการ DNS ต่อไปนี้: 8.8.8.8

สำหรับข้อมูลเพิ่มเติมโปรดดูที่นี้ (วัน) ปัญหาที่ให้คำตอบให้ที่นี่


7

ฉันพบปัญหาในการใช้งาน Docker บน MAC ของฉัน (โฮสต์) กับ Docker VM ใน VBOX 5.10 มันเป็นปัญหาเครือข่าย วิธีแก้ไขอย่างง่ายคือการเพิ่มเครือข่ายบริดจ์ไปยังรูปภาพ VBOX คุณสามารถใช้การกำหนดค่า NAT ที่รวมอยู่กับ VM แต่คุณต้องเปลี่ยนพอร์ต ssh จาก 50375 เป็น 2375


1
นี่คือสิ่งที่ทำงานให้ฉัน (VirtualBox 5.0.10r104061 บน Windows 10 Pro) หมายเหตุสำหรับมือใหม่ที่ใหม่กว่าฉันที่คุณจะต้องdocker-machine stop defaultเพิ่มเครือข่ายในตัวจัดการ VirtualBox แล้วdocker-machine start default(เปลี่ยนค่าเริ่มต้นเป็นชื่อเครื่องของคุณตามความจำเป็น) ฉันได้ลองการรีสตาร์ทอย่างง่าย + ข้อเสนอแนะ env env ของ Mark @ Smith ก่อนและนั่นก็ไม่ได้ทำเพื่อฉัน
David Brown

@dbaOnTap คุณเป็นสวรรค์ที่เพื่อนของฉัน ฉันติดอยู่กับเรื่องนี้มาหลายวันแล้ว ใช้ Windows 10 Home พร้อม VirtualBox Build Test ล่าสุด (5.0.15-10594) และกล่องเครื่องมือ docker ล่าสุด (1.10.0) นี่เป็นสิ่งเดียวที่ใช้ได้สำหรับฉัน
cudacoder

4
sudo service docker stop
sudo service docker start

ได้ผลสำหรับฉัน ..

อย่างใดsudo service docker restartไม่ทำงาน

(RHEL7)


4

บน Windows 7 และถ้าคุณเชื่อว่าคุณอยู่หลังพรอกซี

  1. เข้าสู่ระบบไปยังเครื่องเริ่มต้น

    $ docker-machine ssh default
    
  2. อัพเดตโปรไฟล์เพื่ออัพเดตการตั้งค่าพร็อกซี

    docker@default:~$ sudo vi /var/lib/boot2docker/profile
    
  3. ผนวกจากด้านล่างตามความเหมาะสม

    # 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. ทางออก

    docker@default:~$ exit
    
  5. รีสตาร์ทเครื่องนักเทียบท่า

    docker-machine restart default
    
  6. อัพเดตการตั้งค่าสภาพแวดล้อม

    eval $(docker-machine env default)
    

ขั้นตอนข้างต้นจะถูกปรับแต่งเล็กน้อย แต่ให้ไว้ในคู่มือการแก้ปัญหา: https://docs.docker.com/toolbox/faqs/troubleshoot/#/update-varlibboot2dockerprofile-on-the-docker-machine


ในกรณีของฉันทำงานได้ แต่ฉันลบexport"HTTP_PROXY=http://PROXY:PORTและ `... HTTPS_PROXY ... 'เพราะเน็ตเข้าถึงได้โดยตรงโดยไม่ต้องตรวจสอบสิทธิ์
Muka

2

ฉันพบปัญหาเดียวกันนี้เมื่อวานนี้และไม่มีคำตอบ "ยอดนิยม" (เช่นการแก้ไข DNS ถึง 8.8.8.8) ที่ใช้งานได้สำหรับฉัน ในที่สุดฉันก็เกิดขึ้นกับลิงก์นี้และนั่นก็เป็นเคล็ดลับ ... https://github.com/docker/for-win/issues/16

ระหว่าง Docker สำหรับ Windows, Windows 10 และ Hyper-V ดูเหมือนว่ามีปัญหาระหว่างกระบวนการสร้างอะแดปเตอร์เครือข่ายเสมือน คุณอาจท้ายด้วยอะแดปเตอร์เครือข่าย "vEthernet (DockerNAT)" สองตัว ตรวจสอบสิ่งนี้ด้วยGet-NetAdapter "vEthernet (DockerNAT)"(ในคอนโซล PowerShell ที่ยกระดับ) หากผลแสดงมากกว่าหนึ่งอะแดปเตอร์คุณสามารถปิดการใช้งานและเปลี่ยนชื่อด้วย:

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

จากนั้นเปิดตัวจัดการอุปกรณ์และลบอะแดปเตอร์ที่ถูกปิดใช้งาน (ด้วยเหตุผลบางอย่างที่คุณสามารถทำได้จากที่นี่ แต่ไม่ได้มาจากมุมมองอะแดปเตอร์เครือข่ายและการแชร์ศูนย์)


1

ฉันคิดว่าคุณมีปัญหาเครือข่าย คุณอยู่หลังพรอกซีหรือไม่? เป็นไปได้หรือไม่ที่จะกรองการเชื่อมต่อdocker.ioหรือบล็อกตัวแทนผู้ใช้นักเทียบท่า?

ฉันติดตั้งกล่องเครื่องมือและทดสอบการทำงานของคุณ มันใช้งานได้ดีที่นี่:

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 ใหม่และตอนนี้ดูเหมือนว่าจะใช้งานได้แล้ว
daydreamer

1
ฉันลบเครื่องที่มีอยู่ที่ฉันสร้างขึ้นโดยใช้ตัวเลือกบังคับและสร้างใหม่ - ทำงานได้ docker-machine rm -f <machine_name>
user1189332

1

บน Windows 10 เพียงคลิกขวาที่ไอคอน systray docker-> การตั้งค่า ... -> ส่วนที่เหลือ -> Restrart Docker


0

ฉันมีปัญหาเดียวกันกับ boot2docker และแก้ไขโดยเริ่มต้นใหม่ด้วย:

boot2docker restart

boot2docker เลิกใช้แล้ว
Ultrasaurus

0

ฉันเพิ่งพบปัญหานี้ในวันนี้โดย1.10.1ไม่มีวิธีแก้ปัญหาใดที่ใช้ได้ผล ฉันพยายามเริ่มการทำงานใหม่อัปเกรดสร้างใหม่ certs ...

ฉันสังเกตเห็นว่าฉันมีเครือข่ายจำนวนมากที่สร้างขึ้นบนเครื่อง หลังจากลบออกด้วย:

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

DNS เริ่มทำงานอีกครั้ง

หมายเหตุ: คุณอาจละเว้นข้อผิดพลาดเกี่ยวกับเครือข่ายที่กำหนดไว้ล่วงหน้า


0

หากคุณอยู่หลัง proxy ไม่เพียงพอที่จะตั้งค่าHTTP_PROXYและHTTPS_PROXYenv คุณควรตั้งค่าในขณะที่สร้างเครื่อง

Paramer สำหรับสิ่งนี้คือ--engine-env:

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

0

ในกรณีของฉันการติดตั้ง docker บน Alpine Linux ฉันได้รับข้อผิดพลาด:

เครือข่ายหมดเวลาขณะพยายามเชื่อมต่อกับhttps://index.docker.io/v1/repositories/library/ ........

ใช้สคริปต์ที่นี่: https://github.com/docker/docker/blob/master/contrib/download-frozen-image-v2.sh

โรงงาน มันดาวน์โหลดภาพโดยใช้ขดแล้วจะแสดงวิธีการปลดและโหลดนักเทียบท่า 'มัน

ฉันได้ลองวิธีการด้านบนของ DNS แบบคงที่ที่ 8.8.8.8 และปิดการใช้งาน ipv6 (ฉันไม่เข้าใจสิ่งที่เป็นพร็อกซี) และไม่มีใครทำงานให้ฉันได้

แก้ไข 9/8/2559:

ตอนแรกฉันใช้ dropbear แทน openssh ติดตั้งอัลไพน์ด้วย openssh อีกครั้งเพื่อแก้ไขปัญหา

ปัญหาต่อไปคือข้อผิดพลาด 'ApplyLayer exit status 1 stdout: stderr: chmod / bin / mount: สิทธิ์ถูกปฏิเสธ' ข้อผิดพลาดระหว่างการดึง

จาก (nixaid.com/grsec-in-docker/):

ในการสร้างอิมเมจ Docker ฉันต้องปิดการป้องกัน grsec ต่อไปนี้ แก้ไข /etc/sysctl.d/grsec.conf ดังต่อไปนี้:

kernel.grsecurity.chroot_deny_chmod = 0 kernel.grsecurity.chroot_deny_mknod = 0 kernel.grsecurity.chroot_caps = 0 # เกี่ยวข้องกับ systemd แพ็คเกจ / CAP_SETFCAP

ในกรณีของอัลไพน์แม้ว่ามันจะเป็น

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

รีบูต


ฉันรู้ว่ามันไม่ใช่กรณีที่นี่ แต่สำหรับอนาคต: การปิดใช้งาน IPv6 ไม่ใช่คำตอบที่ถูกต้อง หากการปิดใช้งาน IPv6 เคย "แก้ไข" ปัญหาปัญหาจริงจะอยู่ที่อื่น
สตีเฟ่น

0

การรีสตาร์ท Docker หรือสร้างภาพใหม่ไม่ได้ช่วยอะไร ฉันรีบูท Windows ให้ไม่มีประโยชน์

อย่างน่าประหลาดใจเมื่อฉันเข้าไปในที่วิ่งและcurl https://index.docker.io/v1/repositories/library/hello-world/imagesฉันได้รับการตอบสนองที่ถูกต้องสมบูรณ์

ฉันใช้ Docker Toolboxกับ VirtualBox บน 64 บิต Windows 10 Pro

ทางออกในกรณีของฉันคือการถอนการติดตั้ง Docker เวอร์ชั่นเก่าและ ติดตั้งใหม่ที่ใช้ Hyper-Vแทน VirtualBox

ตอนนี้นักเทียบท่าทำงานได้อีกครั้ง


0

หากคุณอยู่หลัง proxy กรุณาใช้คำสั่งด้านล่าง

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

ลองนี้ถ้าคุณสามารถเรียกใช้ Ubuntu รุ่นล่าสุดได้

sudo docker run -it ubuntu bash

ไม่พบรูปภาพubuntu:latestในเครื่อง

ล่าสุด: การดึงจากไลบรารี่ / ubuntu b3e1c725a85f: การดึงเสร็จสมบูรณ์

4daad8bdde31: ดึงเสร็จแล้ว

63fe8c0068a8: ดึงเสร็จแล้ว

4a70713c436f: ดึงเสร็จแล้ว

bd842a2105a8: ดึงเสร็จสมบูรณ์

ย่อยอาหาร:

SHA256: 7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a

สถานะ: ดาวน์โหลดภาพใหม่สำหรับ Ubuntu: ล่าสุด

มันได้ผลสำหรับฉันในที่สุด :)


0

อีกสถานการณ์หนึ่ง: หากอะแดปเตอร์เครือข่ายนักเทียบท่าของคุณถูกปิดใช้งานจะล้มเหลวด้วยข้อผิดพลาดนี้ อะแดปเตอร์ชื่อ "vEthernet (DockerNAT)" หรือคล้ายกัน เห็นได้ชัดว่าอะแดปเตอร์นี้มีส่วนเกี่ยวข้องกับพฤติกรรมการดึงนักเทียบท่าปกติ เปิดใช้งานมันกลับมาเพื่อแก้ปัญหา


0

สร้างไดเร็กทอรีดร็อปดาวน์ systemd สำหรับเซอร์วิสตัวเทียบท่า:

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

สร้างไฟล์ชื่อ/etc/systemd/system/docker.service.d/http-proxy.confที่เพิ่มHTTP_PROXYตัวแปรสภาพแวดล้อม:

[บริการ]

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

หวังว่ามันจะช่วย


-1

บน Windows สิ่งนี้เกิดขึ้นเมื่อฉันย้ายจากเครือข่ายทำงานเป็นเครือข่ายในบ้าน

เพื่อแก้ปัญหาให้เรียกใช้:

  1. docker-machine stop
  2. docker-machine start
  3. docker-env
  4. "C:\Program Files\Docker Toolbox\docker-machine.exe" env | Invoke-Expression
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.