WSL2로 Docker 폭발

우치의 Win10도 드디어 이전의 WindowsUpdate에서 WSL2가 유효하게 되었습니다.

빨리 공식 절차에 따라 Docker를 WSL2에 대응시켜 갑시다.
htps : // / cs. 도 c r. 코 m / 도 c 케 루 후 우 루 우도 ws / wsl /

그 전에 What's WSL2



WSL은 WindowsSubsystemForLinux의 약칭
Windows의 커멘드 라인으로 Linux의 커멘드를 사용할 수 있어-적인 것이라고 대고 받으면 좋을 것입니다.

WSL2는 WSL 버전 2입니다. 그러나 WSL1의 완전 상위 호환이 아닌 장점과 단점이 있습니다.
htps : // / cs. 미 c 로소 ft. 코 m / 쟈 jp / 우동 ws / wsl / 코 m 파레 - ぇ r 시온 s

우선 전제 확인


  • Docker, 버전은 2.3.0.2 이상
  • Windows 10, 버전 2004, 빌드 19041 이상

  • WSL2 설치



    우선 Microsoft 스토어에서 우분투



    WSL을 사용하는 LinuxOS는 범용성을 고려하여 우분투로 만들었습니다.
    파일 사이즈가 크지만 WSL용으로는 가장 추천할 수 있을까 생각합니다.
    h tps://w w. 미 c 로소 ft. 작은 m / jar jp / p / 우븐 츠 / 9 blblgh4MSV6? 아 c 땅 베타 b = 피보 t : 오 베르비에 w 등 b

    WSL2로 업데이트



    그대로 WSL1로 설치되므로 WSL2로 업데이트합시다.
    # インストールされているWSLとバージョンを確認
    wsl -l -v
    
      NAME                   STATE           VERSION
    * Ubuntu                 Running         1
    
    *가 붙은 것이 기본 WSL입니다. WSL에 여러 리눅스를 넣으면 많이 나옵니다.
    일반적으로 기본 WSL은 Docker와 통합됩니다.
    # WSLをバージョンアップ
    wsl --set-version Ubuntu 2
    
    # インストールされているWSLとバージョンを再確認
    wsl -l -v
    
      NAME                   STATE           VERSION
    * Ubuntu                 Running         2
    

    Ubuntu의 Version이 2가 되어 있으면 성공입니다.

    Docker for Windows에서 즉시 WSL2 사용


  • Settings > General로 이동하여 Use WSL 2 based engine로 이동하여 Apply & Restart
  • Settings > Resources > WSL Integration 기본 WSL에서 통합 기능을 사용할 수 있습니다.

  • 이제 지금까지 Hyper-V의 가상 머신에서 움직이던 Docker가 WSL2에서 움직이게 되었습니다.

    그러나 함정



    WSL2는 완전한 Linux가 되었지만 Windows 파일 공유로 성능이 떨어지는 단점이 있습니다.
    그 때문에, volumes로 Windows의 로컬 폴더를 컨테이너에 공유하고 있었을 경우, 체감적으로 상당히 느려져 버렸습니다.

    리눅스 파일 시스템에 소스 코드를 배치하여 해결



    wsl의 Windows와의 공유 영역이다 /mnt/c/ 부하를 volumes로 공유하면 느려져 버리므로,
    프로그램의 코드는 다른 곳에 둡시다.
    공식 베스트 프랙티스에도 그렇게 써 있습니다.
    htps : // / cs. 도 c r. 코 m / 도 c 케 루 후 우 루 우 엔드 ws / wsl / # 베스트 등 치세 s

    WSL2 Docker로 VSCode DevContainer 개발



    WSL 내에서 code 명령을 실행하면 Windows VSCode가 Remote-WSL 모드로 열립니다! ! !
    code ~/hoge_workspace/
    

    그런 다음 WSL의 폴더에 devcontainer.json를 준비하고 평소 단계에서 Reopen in Container


    DevContainer 관련


  • VSCode로 원격 호스트의 Docker에서 개발
  • VSCode의 Haskell 확장을 사용하여 가장 빠른 개발 환경 구축

  • WSL 디렉터리에 Windows10 탐색기에서 액세스



    WSL 내의 Linux가 시작된 상태에서 다음 네트워크 경로에 액세스하면 WSL 내의 폴더에 탐색기에서 액세스할 수 있습니다.
    그대로 Windows에서 파일을 편집할 수도 있습니다.
    \\wsl$\
    

    좋은 웹페이지 즐겨찾기