Mạng đã hết thời gian trong khi cố gắng kết nối với https://index.docker.io


204

Tôi đã cài đặt Docker-Toolbox ngay bây giờ trong khi theo dõi trang web của họ

Tôi bắt đầu với Docker QuickStart Terminalvà xem sau

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

Nhưng khi tôi cố gắng thực hiện docker pull hello-world, đây là những gì tôi thấy

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$ 

Chuyện gì vậy?

Câu trả lời:


482

Tôi đã có cùng một vấn đề sáng nay và sau đây đã khắc phục nó cho tôi:

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

Có vẻ như điều này là do máy ảo Docker tự rơi vào trạng thái lạ. Có một vấn đề github mở ở đây


3
Điều này cũng đã sửa nó cho tôi ... tuy nhiên, tôi phải chạy lại nó với mỗi phiên thiết bị đầu cuối mới.
THX1137

17
Có vẻ xảy ra khi tôi chuyển từ mạng LAN công việc sang mạng LAN gia đình. Có thể DNS không thể truy cập từ nhà.
taco

10
Tôi có thể xác nhận nó bị hỏng khi tôi thay đổi mạng WiFi. Khởi động lại Docker luôn sửa nó.
Stephen Harrison

3
Hoàn hảo, trong trường hợp của tôi, tôi phải bao gồm docker-machine regenerate-certs default.
rogeriopradoj

3
Holy crap, nó làm cho tất cả ý nghĩa bây giờ. Chuyển đổi cài đặt mạng (wifi, sang lan, sang vpn, mạng gia đình, mạng nội bộ công việc, iphone, ...) gây ra những vấn đề kỳ lạ này.
nils petersohn 27/2/2016

41

Tôi đã cài đặt Docker mà không có Hộp công cụ trên Windows 10, vì vậy phiên bản yêu cầu Hyper-V được bật.

Đối với Docker phiên bản 1.12, tôi phải vào thanh tác vụ, nhấp chuột phải vào Biểu tượng Docker, chọn Cài đặt -> Mạng và đặt Máy chủ DNS thành cố định, để sử dụng máy chủ DNS của Google tại 8.8.8.8.

Khi cài đặt đó được thay đổi, cuối cùng nó cũng hoạt động.


Tôi chỉ cần chuyển sang cố định và sau đó chuyển nó trở lại và nhấn áp dụng. Không cần phải để nó cố định.
Philip Tinney

Trong trường hợp của tôi, tôi đã cài đặt ứng dụng khách ô OpenDNS để cài đặt cài đặt mạng của bạn sử dụng 127.0.0.1 cho DNS. Docker dường như sao chép các cài đặt từ thẻ mạng của bạn, do đó, việc đưa localhost vào cài đặt DNS của chính nó sẽ không hoạt động.
Richard Benson

Làm việc trên windows 10
master

16

Giải pháp đơn giản hơn là thêm mục sau vào tệp / etc / default / docker

xuất http_proxy = "http: // HOST: PORT /"

và khởi động lại dịch vụ docker

khởi động lại dịch vụ


Nó có nghĩa là một máy chủ proxy "ví dụ", không ngờ rằng nó sẽ gây nhầm lẫn
pr-pal

2
Đối với centos, nó nằm trong tập tin / etc / sysconfig / docker.
Priyank Desai

Đối với MacOS, tôi đã nhập thủ công các cấu hình proxy vào "Tùy chọn" của Docker Desktop -> "Proxy"
user1394 26/03/19

8

Cập nhật tháng 8 năm 2016

Sử dụng Docker cho Mac (phiên bản 1.12.0), đã thấy các sự cố của biểu mẫu:

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

Điều này đã được giải quyết bằng cách cập nhật cài đặt mạng không dây MacBook Pro của tôi để bao gồm mục nhập DNS sau: 8.8.8.8

Để biết thêm thông tin, xin vui lòng xem vấn đề (ngày) này trong đó cung cấp câu trả lời được đưa ra ở đây.


7

Tôi gặp vấn đề này khi chạy Docker trên MAC (máy chủ) với Docker VM trong VBOX 5.10. Đây là một vấn đề mạng. Cách khắc phục đơn giản là thêm một mạng cầu nối vào hình ảnh VBOX. Bạn có thể sử dụng cấu hình NAT đi kèm với VM, nhưng bạn cần thay đổi cổng ssh từ 50375 thành 2375.


1
Đây là những gì làm việc cho tôi (VirtualBox 5.0.10r104061 trên Windows 10 Pro). Lưu ý với những người mới hơn tôi mà bạn sẽ phải docker-machine stop default, sau đó thêm mạng vào trình quản lý VirtualBox, sau đó docker-machine start default(thay đổi mặc định thành tên máy của bạn nếu cần). Trước tiên tôi đã thử gợi ý khởi động lại + eval env đơn giản của @ Mark-Smith và điều đó không làm được cho tôi.
David Brown

@dbaOnTap Bạn là một ơn trời bạn của tôi. Tôi đã bị mắc kẹt trên này trong nhiều ngày. Chạy Windows 10 Home với VirtualBox Build Test mới nhất (5.0.15-10594) và hộp công cụ docker mới nhất (1.10.0), đây là điều duy nhất phù hợp với tôi.
cudacoder

4
sudo service docker stop
sudo service docker start

làm việc cho tôi ..

bằng cách nào đó, sudo service docker restartđã không làm việc

(RHEL7)


4

Trên Windows 7 và nếu bạn tin rằng bạn đứng sau proxy

  1. Đăng nhập vào máy mặc định

    $ docker-machine ssh default
    
  2. Cập nhật hồ sơ để cập nhật cài đặt proxy

    docker@default:~$ sudo vi /var/lib/boot2docker/profile
    
  3. Nối từ bên dưới cho phù hợp

    # 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. Lối ra

    docker@default:~$ exit
    
  5. Khởi động lại máy docker

    docker-machine restart default
    
  6. Cập nhật cài đặt môi trường

    eval $(docker-machine env default)
    

Các bước trên được điều chỉnh một chút nhưng như được đưa ra trong hướng dẫn khắc phục sự cố: https://docs.docker.com/toolbox/faqs/troubledhoot/#/update-varlibboot2dockerprofile-on-the-docker-machine


Trong trường hợp của tôi, hoạt động, nhưng tôi đã xóa export"HTTP_PROXY=http://PROXY:PORTvà `... HTTPS_PROXY ...` vì mạng được truy cập trực tiếp mà không cần xác thực.
Muka

2

Tôi đã gặp vấn đề chính xác tương tự ngày hôm qua và không có câu trả lời "phổ biến" nào (như sửa DNS thành 8.8.8.8) làm việc cho tôi. Cuối cùng tôi đã xảy ra trên liên kết này và điều đó đã tạo nên mánh khóe ... https://github.com/docker/for-win/issues/16

Giữa Docker cho Windows, Windows 10 và Hyper-V, dường như có một vấn đề trong quá trình tạo bộ điều hợp mạng ảo. Cụ thể, bạn có thể kết thúc với hai bộ điều hợp mạng "vEthernet (DockerNAT)". Kiểm tra điều này với Get-NetAdapter "vEthernet (DockerNAT)"(trong bảng điều khiển PowerShell nâng cao). Nếu kết quả hiển thị nhiều hơn một bộ chuyển đổi, bạn có thể vô hiệu hóa và đổi tên nó bằng:

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

Sau đó mở Trình quản lý thiết bị và xóa bộ điều hợp bị vô hiệu hóa (vì một số lý do bạn có thể thực hiện việc này từ đây, nhưng không phải từ giao diện Bộ điều hợp mạng và Trung tâm chia sẻ).


1

Tôi giả sử rằng bạn có một vấn đề mạng. Bạn có đứng sau một proxy? Có thể nó lọc kết nối tớidocker.io hoặc chặn tác nhân người dùng docker?

Tôi đã cài đặt hộp công cụ và chạy thử nghiệm của bạn. Nó hoạt động tốt, ở đây:

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$

Tôi đã cài đặt lại Docker-Toolbox và bây giờ nó có vẻ hoạt động
mơ mộng ngày

1
Tôi đã loại bỏ máy hiện có mà tôi đã tạo bằng tùy chọn bắt buộc và tạo lại nó - nó hoạt động. docker-machine rm -f <machine_name>
dùng118932

1

Trên Windows 10. Chỉ cần nhấp chuột phải vào biểu tượng docker systray-> Cài đặt ... -> Nghỉ ngơi -> Khởi động lại Docker


0

Tôi gặp vấn đề tương tự với boot2docker và đã khắc phục bằng cách khởi động lại bằng:

boot2docker restart

boot2docker không được dùng nữa
Ultrasaurus

0

Tôi vừa mới chạy vào hôm nay với 1.10.1 và không có giải pháp nào hiện có hiệu quả. Tôi đã cố gắng khởi động lại, nâng cấp, tái tạo certs, ...

Tôi nhận thấy rằng tôi đã có rất nhiều mạng được tạo trên máy. Sau khi loại bỏ chúng bằng:

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

DNS bắt đầu hoạt động trở lại.

Lưu ý: Bạn có thể bỏ qua lỗi về các mạng được xác định trước


0

Nếu bạn đứng sau proxy thì không đủ để đặt HTTP_PROXYHTTPS_PROXY env. Bạn nên đặt nó trong khi tạo máy.

Thông số cho điều này là --engine-env:

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

0

Trong trường hợp của tôi, cài đặt docker trên Alpine Linux, tôi gặp lỗi:

Mạng đã hết thời gian trong khi cố gắng kết nối với https://index.docker.io/v1/repos khu / l Library / ........

Sử dụng tập lệnh tại đây: https://github.com/docker/docker/blob/master/contrib/doad-f Frozen-image-v2.sh

Làm. Nó tải hình ảnh bằng cách sử dụng curl và sau đó chỉ cho bạn cách gỡ rối và 'tải docker'.

Tôi đã thử các phương pháp DNS tĩnh ở trên tại 8.8.8.8 và vô hiệu hóa ipv6 (tôi không hiểu điều proxy) và không có phương pháp nào hoạt động với tôi.

EDIT 9/8/2016:

Tôi ban đầu sử dụng dropbear thay vì openssh. Cài đặt lại Alpine với openssh đã khắc phục vấn đề.

Vấn đề tiếp theo là 'Trạng thái thoát của ApplyLayer 1 stdout: stderr: chmod / bin / mount: allow bị từ chối' trong khi kéo.

Từ (nixaid.com/grsec-in-docker/):

Để xây dựng hình ảnh Docker, tôi đã phải vô hiệu hóa các biện pháp bảo vệ grsec sau đây. Sửa đổi /etc/sysctl.d/grsec.conf như sau:

kernel.grsecurity.chroot_deny_chmod = 0 kernel.grsecurity.chroot_deny_mknod = 0 kernel.grsecurity.chroot_caps = 0 # liên quan đến gói systemd / CAP_SETFCAP

trong trường hợp núi cao mặc dù nó

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

khởi động lại


Tôi nhận ra đây không phải là trường hợp ở đây, nhưng trong tương lai: vô hiệu hóa IPv6 không bao giờ là một câu trả lời đúng. Nếu vô hiệu hóa IPv6 từng "sửa chữa" một vấn đề, thì vấn đề thực sự nằm ở chỗ khác.
Stephen

0

Khởi động lại Docker hoặc tạo lại hình ảnh không giúp được gì. Tôi đã khởi động lại Windows nhưng không có kết quả.

Đáng kinh ngạc, khi tôi đi vào container đang chạy và curl https://index.docker.io/v1/repositories/library/hello-world/imagestôi đã nhận được một phản hồi hoàn toàn hợp lệ.

Tôi đã sử dụng Hộp công cụ Docker với VirtualBox trên Windows 10 Pro 64 bit.

Giải pháp trong trường hợp của tôi là gỡ cài đặt phiên bản Docker cũ và cài đặt phiên bản mới sử dụng Hyper-V thay vì VirtualBox.

Bây giờ Docker hoạt động trở lại.


0

Nếu bạn đứng sau proxy, vui lòng sử dụng các lệnh bên dưới

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

Hãy thử điều này nếu bạn có thể tìm nạp Ubuntu mới nhất

sudo docker run -it ubuntu bash

Không thể tìm thấy hình ảnh ubuntu:latestcục bộ

mới nhất: Kéo từ thư viện / ubfox b3e1c725a85f: Kéo hoàn tất

4daad8bdde31: Kéo hoàn thành

63fe8c0068a8: Kéo hoàn thành

4a70713c436f: Kéo hoàn thành

bd842a2105a8: Kéo hoàn thành

Tiêu:

sha256: 7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a

Trạng thái: Đã tải xuống hình ảnh mới hơn cho Ubuntu: mới nhất

Nó làm việc cho tôi cuối cùng :)


0

Một kịch bản khác: nếu bộ điều hợp mạng docker của bạn bị vô hiệu hóa, nó sẽ thất bại với lỗi này. Bộ điều hợp có tên "vEthernet (DockerNAT)" hoặc tương tự. Rõ ràng bộ chuyển đổi này có liên quan bằng cách nào đó trong hành vi kéo docker bình thường. Cho phép nó trở lại để giải quyết vấn đề.


0

Tạo một thư mục thả vào systemd cho dịch vụ docker:

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

Tạo một tệp được gọi là /etc/systemd/system/docker.service.d/http-proxy.confthêm HTTP_PROXYbiến môi trường:

[Dịch vụ]

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

Hy vọng nó giúp


-1

Trên Windows, điều này xảy ra khi tôi chuyển từ mạng làm việc sang mạng gia đình.

Để giải quyết nó, hãy chạy:

  1. docker-machine stop
  2. docker-machine start
  3. docker-env
  4. "C:\Program Files\Docker Toolbox\docker-machine.exe" env | Invoke-Expression
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.