WSL2 Error response from daemon: Get "https://registry-1.docker.io/v2/"

f:id:tworks55:20220315082952p:plain

WSL2上のminikubeでいろいろ試していたところ、知らない間にpodがimage取得に失敗するようになっていました。発生していたエラーは以下になります。

Failed to pull image "nginx": rpc error: code = Unknown desc = Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 192.168.49.1:53: read udp 192.168.49.2:41517->192.168.49.1:53: i/o timeout


こちらを参考に/etc/resolv.confの情報を8.8.8.8に変更し、dockerとminikubeを再起動し解決しました。


しかし、WSLは/etc/resolv.confを自動で生成する仕組みになっているようで、WSL2を再起動すると8.8.8.8に設定したファイルが上書きされ別のIPアドレスに変わっています。

# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.17.224.1


/etc/resolv.confを再生成しないようにするには /etc/wsl.confに以下2行を追加せよとのこと。

[network]
generateResolvConf = false


WSLは便利ですが少し癖がありますね。