LoginSignup
1
1

More than 1 year has passed since last update.

WSL2でDocker やるときに気を付けること

Last updated at Posted at 2021-12-26

tl;dr;

Docker Desktop for Windows から WSL2のUbuntu20.04環境上でのDockerに切り替えた際に結構ハマったのでその忘備録にメモ

/etc/resolv.confnameserver 8.8.8.8 を追記する

コンテナ環境内で npm install を使用したとき、

npm ERR! code EAI_AGAIN
npm ERR! syscall getaddrinfo
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/autoprefixer failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org

な感じでエラーが出た。
どうもDNS解決ができなくてハマっていたらしい。
原因は この記事 にあるように WSL環境のnameserver設定がおかしくなっていることがあるようだ。

対策として、/etc/resolv.confnameserver 8.8.8.8 を追記する

コンテナ環境のIPアドレスを参照しておく

コンテナ内のサーバーにアクセスしようとしてlocalhost:{port}でアクセスしようとしたら接続できなくてハマった。
原因は上のリンクにもある通り、WSL2に仮想ネットワークアドレスが割り振られるため。

WSL2のシェルでhostname -I などでIPアドレスを確認してlocalhostの代わりに使用する
ほかの方法としては、
未検証だがWSL2で起動したサーバーに外部の端末からアクセスする方法もあるようだ

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1