127
99

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2020-01-04

2022-09-01現在、最新の WSL2 ではこのような設定は不要と思われます (多分)

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 されているように見えます。
スレッドを読みきれてなくて、この問題が根本解決したのかどうかパッチがリリースされるのかどうか読み取れていません。

参考

127
99
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
127
99

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?