« xUnit.netのテストがTest Explorerに出てこない | トップページ | Windows 10のコンテナ機能(Docker for Windowsじゃないよ)が動かない話と気になった点 »

2016年8月 4日 (木)

Docker for Windowsで"Network timed out"と言われてイメージを取ってこれない問題

覚え書き。

問題点

典型的には、 「Getting Started with Docker for Windows」の「Step 4. Explore the application and run examples」の手順にある、

PS C:\Work> docker run hello-world

を実行しようとすると、以下のようなエラーが出ます。 (問題の個所を赤字にしている)

PS C:\Work> docker run hello-world
Unable to find image 'hello-world:latest' locally
Pulling repository docker.io/library/hello-world
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Network timed out while trying to connect to https://index.dock
er.io/v1/repositories/library/hello-world/images. You may want to check your internet connection or if you are behind a
proxy..

See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.

今回はリポジトリからイメージをpullしようとしているところだけど、 外部のネットワークに接続に行く局面で同じ問題が出るのではないかな。

発生条件

今回問題が起きて、対処した環境は以下。

  • OS: Windows 10 Pro (x64) version 1607 (build 14393.10)
  • Docker for Windows 1.12.0 (「プログラムと機能」上で表示されるバージョンは2.0.5968)

回避法

IPv6を無効にしたら通るようになりました。

Docker for WindowsはHyper-V必須ですので、 「コントロールパネル」-「ネットワークとインターネット」-「ネットワーク接続」へ行くと、 Hyper-V関連の接続を含めて色々な接続があります。 そこで、実際に外部に直接繋がっている接続の「プロパティ」を開き、 「ネットワーク」タブの「インターネットプロトコルバージョン6 (TCP/IPv6)」のチェックを外しました。

備考

なんでIPv6を無効にしてみる気になったかというと、 ログファイル(Docker for Windowsの「Diagnose & Feedback」から出せる)に以下が出ていたからです。 (注目点を赤字にしています。各行のヘッダ部は省略)

Found dns server xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
Forward DNS query on udp to xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:53
Exchange error: dial udp: too many colons in address xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:53

※ "xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx"は実際には私のマシンのDNSアドレス

内部でアドレスをどういう形式で持っているかわからないけど、 これ、"[xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:53"となっているべきだよなあ。 というわけで、なんかバグってるんじゃなかろうかと疑いました。

余談

Docker for WindowsはPrivate Beta時代から試しているんだけど、 実はずっとまともに動かせていませんでした。 今日、Windows 10 Anniversary Updateを入れて、 新機能のWindows 10のコンテナ機能を試すついでにまじめに調べてみました。

で、今度はWindows 10のコンテナ機能の方がまだうまく動かせていない。orz

« xUnit.netのテストがTest Explorerに出てこない | トップページ | Windows 10のコンテナ機能(Docker for Windowsじゃないよ)が動かない話と気になった点 »

Windows」カテゴリの記事

覚え書き」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/595179/64008763

この記事へのトラックバック一覧です: Docker for Windowsで"Network timed out"と言われてイメージを取ってこれない問題:

« xUnit.netのテストがTest Explorerに出てこない | トップページ | Windows 10のコンテナ機能(Docker for Windowsじゃないよ)が動かない話と気になった点 »