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를 다시 시작하면 항상 수정됩니다.
Stephen Harrison

3
내 경우에는 완벽하게 포함해야했습니다 docker-machine regenerate-certs default.
rogeriopradoj

3
이런 헛소리, 이제 모든 의미가 있습니다. 네트워크 설정 (wifi, lan, vpn, 홈 네트워크, 회사 인트라넷, iphone 등)을 전환하면 이상한 문제가 발생합니다.
nils petersohn

41

Windows 10에서 도구 상자없이 Docker를 설치 했으므로 Hyper-V를 활성화해야하는 버전입니다.

Docker 버전 1.12의 경우 작업 표시 줄로 이동하여 Docker 아이콘을 마우스 오른쪽 버튼으로 클릭하고 설정-> 네트워크를 선택한 다음 DNS 서버를 고정으로 설정하여에서 Google의 DNS 서버를 사용하십시오 8.8.8.8.

해당 설정이 변경되면 마침내 작동했습니다.


방금 고정으로 전환 한 다음 다시 전환하고 적용을 누르십시오. 고정 된 채로 둘 필요가 없었습니다.
Philip Tinney 1

필자의 경우 네트워크 설정이 DNS에 127.0.0.1을 사용하도록 설정하는 OpenDNS 우산 클라이언트가 설치되어 있습니다. Docker는 네트워크 카드에서 설정을 복사하는 것처럼 보이므로 localhost를 자체 DNS 설정에 넣어 자연스럽게 작동하지 않습니다.
Richard Benson

Windows 10에서 작업
마스터

16

더 간단한 해결책은 / etc / default / docker 파일에 다음 항목을 추가하는 것입니다

http_proxy = "http : // HOST : PORT /"내보내기

도커 서비스를 다시 시작하십시오.

서비스 도커 다시 시작


그것은는 "예"프록시 서버로 의미되었다, 그것은 혼란이 발생할 것이라고 기대하지 않았다
홍보 - 친구

2
centos의 경우 / etc / sysconfig / docker 파일에 있습니다.
Priyank Desai

MacOS의 경우 Docker Desktop의 "Preferences"-> "Proxies"에 프록시 구성을 수동으로 입력했습니다.
user1394

8

2016 년 8 월 업데이트

Mac 용 Docker (버전 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`

이것은 다음 DNS 항목을 포함하도록 MacBook Pro 무선 네트워크 설정을 업데이트하여 해결되었습니다. 8.8.8.8

자세한 내용은 여기에 주어진 답변을 제공 한이 (날짜) 문제 를 참조 하십시오.


7

VBOX 5.10의 Docker VM을 사용하여 MAC (호스트)에서 Docker를 실행하면이 문제가 발생했습니다. 네트워킹 문제입니다. 간단한 수정은 브리지 된 네트워크를 VBOX 이미지에 추가하는 것입니다. VM에 포함 된 NAT 구성을 사용할 수 있지만 ssh 포트를 50375에서 2375로 변경해야합니다.


1
이것이 나를 위해 일한 것입니다 (Windows 10 Pro의 VirtualBox 5.0.10r104061). 나보다 새로운 초보자에게는 docker-machine stop default, VirtualBox 관리자에 네트워크를 추가 한 다음 docker-machine start default(필요에 따라 기본값을 컴퓨터 이름으로 변경)해야합니다. @ Mark-Smith의 간단한 다시 시작 + 평가 환경 제안을 먼저 시도했지만 그게 나에게 도움이되지 않았습니다.
David Brown

@dbaOnTap 당신은 신의 친구입니다. 나는 며칠 동안 붙어 있습니다. VirtualBox 최신 테스트 빌드 (5.0.15-10594) 및 최신 docker toolbox (1.10.0)를 사용하여 Windows 10 Home을 실행하면 이것이 나를 위해 일한 유일한 것입니다.
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:PORTauth없이 직접 액세스하기 때문에`... HTTPS_PROXY ...`을 제거했습니다 .
Muka

2

나는 어제이 똑같은 문제에 부딪 쳤고 "인기"답변 (DNS를 8.8.8.8로 수정하는 것과 같은)은 나를 위해 일하지 않았다. 나는 결국이 링크를 통해 일어 났고 그 트릭은 ... https://github.com/docker/for-win/issues/16

Windows 용 Docker, 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.ioDocker 사용자 에이전트에 대한 연결을 필터링 하거나 차단할 수 있습니까?

도구 상자를 설치하고 테스트를 실행했습니다. 여기에서 잘 작동합니다.

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으며 기존 솔루션 중 아무것도 작동하지 않았습니다. 인증서를 다시 생성, 업그레이드, 재생성하려고했습니다 ...

컴퓨터에 많은 네트워크가 생성 된 것을 발견했습니다. 그것들을 제거한 후 :

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

DNS가 다시 작동하기 시작했습니다.

참고 : 사전 정의 된 네트워크에 대한 오류는 무시해도됩니다


0

프록시 뒤에 있다면 설정 HTTP_PROXY하고 HTTPS_PROXYenv 하기에 충분하지 않습니다 . 머신 생성 중에 설정해야합니다.

이것에 대한 매개 변수는 다음과 --engine-env같습니다

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

0

제 경우에는 Alpine Linux에 docker를 설치하면 오류가 발생합니다.

https://index.docker.io/v1/repositories/library/ ....... 에 연결하는 동안 네트워크 시간이 초과되었습니다 .

https://github.com/docker/docker/blob/master/contrib/download-frozen-image-v2.sh 에서 스크립트를 사용하십시오.

공장. curl을 사용하여 이미지를 다운로드 한 다음 untar하고 'docker load'하는 방법을 보여줍니다.

위의 정적 DNS 방법을 8.8.8.8에서 시도하고 ipv6을 비활성화 (프록시 문제를 이해하지 못함)했지만 그중 아무것도 나를 위해 일하지 않았습니다.

2016 년 9 월 8 일 수정 :

처음에는 openssh 대신 dropbear를 사용했습니다. openssh로 Alpine을 다시 설치하면 문제가 해결되었습니다.

다음 문제는 풀 중 'ApplyLayer 종료 상태 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 # 시스템 패키지 / CAP_SETFCAP 관련

알파인의 경우에는

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

재부팅


나는 이것이 사실이 아니라는 것을 알고 있지만 앞으로는 IPv6를 사용 중지하는 것이 정답이 될 수 없습니다. IPv6을 비활성화하면 문제가 "수정"되면 실제 문제는 다른 곳에 있습니다.
Stephen

0

Docker를 다시 시작하거나 이미지를 다시 작성해도 도움이되지 않았습니다. Windows를 재부팅하여 아무 소용이 없었습니다.

놀랍게도, 실행중인 컨테이너에 ssh 's curl https://index.docker.io/v1/repositories/library/hello-world/images하고 완벽하게 유효한 응답을 얻었을 때.

64 비트 Windows 10 Pro 에서 Docker Toolbox 를 VirtualBox와 함께 사용했습니다 .

필자의 경우 해결책은 이전 Docker 버전을 제거하고 VirtualBox 대신 Hyper-V를 사용하는 새 버전을 설치하는 것이 었습니다 .

이제 Docker가 다시 작동합니다.


0

프록시 뒤에 있다면 아래 명령을 사용하십시오.

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

최신 우분투를 가져올 수 있다면 이것을 시도하십시오

sudo docker run -it ubuntu bash

ubuntu:latest로컬에서 이미지를 찾을 수 없습니다

최신 : 라이브러리 / 우분투 b3e1c725a85f에서 당기기 : 풀 완료

4daad8bdde31 : 풀 완료

63fe8c0068a8 : 풀 완료

4a70713c436f : 풀 완료

bd842a2105a8 : 풀 완료

요람:

sha256 : 7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a

상태 : ubuntu : latest의 최신 이미지 다운로드

그것은 마침내 나를 위해 일했습니다 :)


0

다른 시나리오 : 도커 네트워크 어댑터가 비활성화되어 있으면이 오류와 함께 실패합니다. 어댑터 이름은 "vEthernet (DockerNAT)"또는 이와 유사합니다. 분명히이 어댑터는 어떻게 든 정상적인 도커 풀 동작과 관련이 있습니다. 문제를 해결하려면 다시 활성화하십시오.


0

docker 서비스에 대한 시스템 드롭 인 디렉토리를 작성하십시오.

$ 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.