Windows10のDockerでdocker pullしたときに「Error response from daemon」となるときの対応

シェアする

ヨメレバCSS

$ docker run redis
Unable to find image ‘redis:latest’ locally
C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 10.0.2.3:53: read udp 10.0.2.15:52538->10.0.2.3:53: i/o timeout.
See ‘C:\Program Files\Docker Toolbox\docker.exe run –help’.

みたいになるときの対応です。

スポンサーリンク
GoogleAdSence レクタングル(大)

DockerホストのDNSが問題

 次のサイトに書いてあったことそのまんまで解決しました。どうもDNSの名前解決がうまくできていないみたい。

Windows7 にdocker toolboxをインストールしてdocker search pythonしたらエラーが出た。 ``` $ docker pull python Using default tag: latest ...

Docker Toolboxの場合

でDockerが動作しているVMに入ります。

でresolv.confを開いてみると、確かに「nameserver 10.0.2.3」となっているので、これを「nameserver 8.8.8.8」に変更して保存。

あとはVMから出てdocker pullすると上手く動きました。

$ docker pull redis
Using default tag: latest
latest: Pulling from library/redis
f17d81b4b692: Pull complete
b32474098757: Pull complete
8980cabe8bc2: Pull complete
2719bdbf9516: Pull complete
f306130d78e3: Pull complete
3e09204f8155: Pull complete
Digest: sha256:481678b4b5ea1cb4e8d38ed6677b2da9b9e057cf7e1b6c988ba96651c6f6eff3
Status: Downloaded newer image for redis:latest

Docker for Windowsの場合

 Docker Desktopの設定に、DNSの項目がありました。

 「Settings > Network > DNS Server」を「Fixed: 」にして、「8.8.8.8」を入力します。

 変更後はDockerのrestartが必要です。

 さらに、Docker for WindowsではDNS設定を変えてもまた出てくることがありました。

 その場合は、Docker Desktopの右クリックメニューより、「Sign in / Create Docker ID」を選択し、DockerHubにログインすることで治りました。

 DockerHubのIDはDocker for Windowをダウンロードする際に作成していると思います。そうでなければ新しく作成して試してみると良いです。

スポンサーリンク
GoogleAdSence レクタングル(大)