리눅스

WSL 2에서 Docker 원격 컨테이너 시작

머리올리자 2021. 1. 3. 17:10

필수 구성 요소

- 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