https://index.docker.ioへの接続を試行中にネットワークがタイムアウトしました


204

私がインストールされドッカー-ツールボックスをその次ながら今のWebページを

私は始めて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、home-network、work intranet、iphoneなど)を切り替えると、これらの奇妙な問題が発生します。
nils petersohn、

41

Windows 10にツールボックスなしでDockerをインストールしたため、Hyper-Vを有効にする必要があるバージョン。

Dockerバージョン1.12の場合、タスクバーに移動し、Dockerアイコンを右クリックして、[設定]-> [ネットワーク]を選択し、DNSサーバーを固定に設定して、でGoogleのDNSサーバーを使用するようにしました8.8.8.8

その設定を変更すると、ようやく機能しました。


私は固定に切り替えた後、元に戻し、適用を押しました。そのままにしておく必要はありませんでした。
フィリップティニー

私の場合、OpenDNSアンブレラクライアントをインストールし、DNSに127.0.0.1を使用するようにネットワーク設定を設定しています。Dockerはネットワークカードから設定をコピーするようです。そのため、localhostを独自のDNS設定に入れていましたが、自然には機能しません。
Richard Benson

Windows 10で
マスター

16

より簡単な解決策は、次のエントリを/ etc / default / dockerファイルに追加することです

エクスポートhttp_proxy = "http:// HOST:PORT /"

そしてDockerサービスを再起動します

サービスドッカーの再起動


これは「例」のプロキシサーバーであることを意図しており、混乱を引き起こすとは予想していませんでした
pr-pal

2
centosの場合、/ etc / sysconfig / dockerファイルにあります。
Priyank Desai 2016

MacOSの場合、Docker Desktopの「設定」->「プロキシ」にプロキシ設定を手動で入力しました
user1394

8

2016年8月の更新

Docker for 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`

これは、次の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の単純なrestart + eval env提案を試しましたが、それは私のためにそれをしませんでした。
David Brown

@dbaOnTapあなたは私の友人の天の恵みです。私はこれに何日も行き詰まっています。VirtualBox最新テストビルド(5.0.15-10594)と最新のDockerツールボックス(1.10.0)を使用してWindows 10 Homeを実行している場合、これが私にとって唯一機能しました。
cudacoder 2016

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マシンを再起動する

    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 for Windows、Windows 10、Hyper-Vの間では、仮想ネットワークアダプターの作成プロセス中に問題が発生するようです。具体的には、「vEthernet(DockerNAT)」ネットワークアダプターが2つになる可能性があります。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
forceオプションを使用して作成した既存のマシンを削除して再作成しました-動作します。docker-machine rm -f <machine_name>
user1189332

1

Windows 10の場合、システムトレイドッカーアイコンを右クリックして、[設定...]-> [レスト]-> [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_PROXY envです。マシンの作成時に設定する必要があります。

これのパラマーは--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を使用してイメージをダウンロードし、解凍して「docker load」する方法を示します。

上記の静的DNSの方法を8.8.8.8で試し、ipv6を無効にしてみました(プロキシのことを理解していませんでした)、どれもうまくいきませんでした。

2016年9月8日編集:

最初はopensshの代わりにdropbearを使用していました。opensshでAlpineを再インストールすると、問題が修正されました。

次の問題は、プル中の「ApplyLayer終了ステータス1 stdout:stderr:chmod / bin / mount:permission denied」エラーでした。

(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を無効にすることで問題が「修正」される場合、実際の問題は別の場所にあります。
Stephen

0

Dockerを再起動するか、イメージを再作成しても効果がありませんでした。無駄にWindowsを再起動しました。

驚いたことに、実行中のコンテナーにsshで入力するとcurl https://index.docker.io/v1/repositories/library/hello-world/images、完全に有効な応答が返されました。

私は64ビットWindows 10 ProでVirtualBoxとDocker Toolboxを使用しました。

私の場合の解決策は、古い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

最新のUbuntuを取得できる場合は、これを試してください

sudo docker run -it ubuntu bash

ubuntu:latestローカルで画像を見つけることができません

最新:ライブラリ/ ubuntu b3e1c725a85fからプル:プル完了

4daad8bdde31:プル完了

63fe8c0068a8:プル完了

4a70713c436f:プル完了

bd842a2105a8:プル完了

ダイジェスト:

sha256:7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a

ステータス:ubuntu:latestの新しいイメージをダウンロードしました

それは最終的に私のために働いた:)


0

別のシナリオ:Dockerネットワークアダプターが無効になっている場合、このエラーで失敗します。アダプターの名前は「vEthernet(DockerNAT)」などです。どうやら、このアダプターは通常のドッカーのプル動作に何らかの形で関与しています。それを有効にして、問題を解決してください。


0

dockerサービス用の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.