WSL 2에서 Docker 원격 컨테이너 시작
필수 구성 요소
- Windows 10 버전 2004, 빌드 18362 이상
- WSL 2로 업데이트
- 리눅스 커널 업데이트 패키지 다운로드 및 설치
Docker 설치
Windows 용 Docker Desktop에서 WSL 2 백엔드를 지원하는 경우,
Linux 기반 개발 환경에서 작업하고,
코드 편집 및 디버깅을 위해 Visual Studio Code를 사용하고,
Windows의 Microsoft Edge 브라우저에서 컨테이너를 실행 하는 동안
linux 기반 개발 환경에서 작업을 수행할 수 있음
아래 링크로 가서 다운로드
docs.docker.com/docker-for-windows/wsl/#download
Docker Desktop WSL 2 backend
docs.docker.com
위에 링크에 Best Practice라고 되어있는데 한 번 내용을 살펴보니..
- 파일을 bind-mount 할 때 파일 시스템 성능을 최대한 활용하려면, 소스 코드 및 bind-mount 된 기타 데이터를 Windows 파일 시스템이 아닌 Linux 파일 시스템의 Linux 컨테이너에 저장하는 것이 좋습니다.
- 파일이 Windows 호스트에서 원격이 아닌 Linux 파일 시스템에서 바인드 마운트 될 때 성능이 훨씬 더 높습니다.
- 따라서 docker run -v / mnt / c / users : / users (여기서 / mnt / c는 Windows에서 마운트 됨)를 피하십시오.
- 대신 Linux 쉘에서 docker run -v ~ / my-project : / sources <my-image>와 같은 명령을 사용하십시오. 여기서 ~는 Linux 쉘에 의해 $ HOME으로 확장됩니다.
즉 Linux에서 작업한 내용은 Windows로 보내서 저장하는 것보다, Linux Docker 컨테이너에 저장하는 것이 성능을 더 올릴 수 있다는 얘기 같다. (Window와 Linux간에 왔다갔다 하지 말아라 라는 얘기 같음..)
다운로드
Docker가 설치된 후 Setting 클릭
General에서 Use the WSL 2 based engine이 선택되어 있는지 확인
Resources에서 WSL INTEGRATION 이동해서 자신이 설치한 버전을 사용하도록 선택
설치된 docker 버전 확인 (docker --version)
docker run hello-world 로 이미지가 제대로 설치되었는지 확인
유용한 Docker 명령어(맨 아래 Microsoft docs에서 가져옴)
VS code를 사용하여 원격 컨테이너에서 개발
1. VS Code remote - WSL extension 설치
(VS code에서 WSL으로 실행되는 리눅스 프로젝트 열기 가능)
marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl
Remote - WSL - Visual Studio Marketplace
Extension for Visual Studio Code - Open any folder in the Windows Subsystem for Linux (WSL) and take advantage of Visual Studio Code's full feature set.
marketplace.visualstudio.com
2. VS Code remote-containers extension 설치
(컨테이너 내의 프로젝트 폴더 또는 리포지토리를 열고, VS code으로 컨테이너 내에서 개발 작업을 수행할 수 있음)
marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers
Remote - Containers - Visual Studio Marketplace
Extension for Visual Studio Code - Open any folder or repository inside a Docker container and take advantage of Visual Studio Code's full feature set.
marketplace.visualstudio.com
3. VS Code Docker extension 설치
(VS Code 내에서 컨테이너화 된 응용 프로그램을 빌드, 관리, 배포하는 기능을 추가)
marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker
Docker - Visual Studio Marketplace
Extension for Visual Studio Code - Makes it easy to create, manage, and debug containerized applications.
marketplace.visualstudio.com
참고
docs.microsoft.com/ko-kr/windows/wsl/tutorials/wsl-containers#overview-of-docker-containers
Linux 용 Windows 하위 시스템에서 Docker 컨테이너 사용 시작
Linux 용 Windows 하위 시스템에서 Docker 컨테이너를 설정 하는 방법에 대해 알아봅니다.
docs.microsoft.com