WSL2 내에서 시작한 서버에 Windows 측에서 localhost로 연결

2686 단어 도커WSLWSL2
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



    localhost로 연결되지 않을 수 있습니까? (추기 : 2021.05.07)



    원인은 잘 알려져 있지 않지만 Windows를 종료하고 다시 시작한 후 localhost로 연결되지 않는 현상이 발생하는 것을 알았습니다.

    그 경우는 「재기동」하면 문제가 해결됩니다. (「셧다운」후 전원 ON이 아니라 「재기동」인 것에 주의)



    구그하면 「고속 스타트업 기능을 오프로 하면 좋다」적인 기사가 발견되기도 합니다만, 기능을 OFF할 것도 없이 「재기동」의 조작에서는 「고속 스타트업」은 행해지지 않기 때문에 「재기동 ”로 문제를 해결할 수 있습니다.

    MS의 공식 계정도 Tweet 하고 있듯이 Windows10에 있어서「재기동」과「셧다운으로부터의 재기동」은 다른 동작이며, 트러블 슈트의 수단으로서 「재기동」을 추천하고 있습니다.

    이 문제에 대한 Github Issue는 다음과 같습니다. 이미 닫힌 것처럼 보입니다.
    스레드를 읽을 수 없으며이 문제가 근본적으로 해결되었는지 패치가 릴리스되었는지 읽을 수 없습니다.
  • Local sites running in WSL2 not accessible in browser #5298

  • 참고


  • What’s new for WSL in Insiders Preview Build 18945 | Windows Command Line
  • WSL2의 WEB 서버에 localhost로 액세스할 수 있는 새로운 기능을 설정한다! | 카에루의 혼자
  • Local sites running in WSL2 not accessible in browser #5298
  • 좋은 웹페이지 즐겨찾기