77
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

WSL2内で立ち上げたサーバにWindows側からlocalhostで接続する

WSL2 では localhost でサーバを公開するのが簡単になった らしいというので設定してみたメモ。

環境

  • Windows10 Pro Insider Preview (バージョン: 2004, OSビルド: 19536.1000)
  • WSL2(Ubuntu-18.04)
  • Docker
    • Desktop 2.1.7.0(41536) (Channel edge)
    • Engine 19.03.5

手順

Windows 側に c:\Users\<ユーザ名>\.wslconfig というファイルを用意し以下のように記述する。

.wslconfig
localhostForwarding=True

以上

試してみる

Docker で nginx を起動

$ docker run --name hogehoge -p 8080:80 nginx

Windows 側から http://localhost:8080 でアクセスして以下のように表示されたらOK

Image from Gyazo

localhost につながらなくなる場合がある? (追記:2021.05.07)

原因はよくわかっていないですが、 Windows のシャットダウンして起動し直した後、 localhost につながらなくなる現象が発生することがわかりました。

その場合は「再起動」すると問題が解決します。(「シャットダウン」の後電源ONではなく「再起動」であることに注意)

ググると「高速スタートアップ機能をオフにすれば良い」的な記事が見つかったりしますが、機能をオフにするまでもなく「再起動」の操作では「高速スタートアップ」は行われないため「再起動」で問題を解消することができます。

MSの公式アカウントも Tweet しているように Windows10 において「再起動」と「シャットダウンからの起動し直し」は異なる動作であり、トラブルシュートの手段として「再起動」を勧めています。

この問題に関する Github Issue は以下のようですが、すでに close されているように見えます。
スレッドを読みきれてなくて、この問題が根本解決したのかどうかパッチがリリースされるのかどうか読み取れていません。

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
77
Help us understand the problem. What are the problem?