리눅스

WSL 2에서 Docker 사용 예제

머리올리자 2021. 1. 3. 18:22

1.폴더를 새로 만든 후 그 경로에 git clone https://github.com/mattwojo/helloworld-django.git 입력

 

 

참고

 

- tools를 사용하는 동일한 파일 시스템에 항상 코드를 저장 → 이렇게하면 파일 액세스 성능이 더 빨라짐 

- 이 예에서는 Linux 배포판 (Ubuntu)을 사용하고 있으며 프로젝트 파일을 WSL 파일 시스템 \\ wsl \에 저장

- Windows 파일 시스템에 프로젝트 파일을 저장하면 WSL에서 Linux 도구를 사용하여 해당 파일에 액세스 할 때 작업 속도가 상당히 느려짐

 

2. 디렉토리 변경

cd helloworld-django

3. VS Code 열기

code .

아래 보면 WSL Linux distro가 잘 연결된 것을 확인

 

4. CTRL+SHIFT+P로 command pallette 열어 Remote-Containers: Open Folder in Container 입력하기 시작할 때 위 명령이 표시되지 않으면 원격 컨테이너(remote container) 잘 설치되어 있는지 확인

 

5. 컨테이너화하려는 프로젝트 폴더를 선택

6. 그런데 프로젝트 폴더 (리포지토리)에 DevContainer configuration이 아직 없기 때문에 컨테이너 정의 목록이 표시

표시 되는 컨테이너 구성 정의 목록은 프로젝트 형식에 따라 필터링

내 Django 프로젝트의 경우 Python 3을 선택(선택하려면 이전에 파이썬이 미리 설치되어 있어야겠쥬)

 

위 경로를 선택 후 엔터치면 아래와 같이 뜬다.

 

7. 새 VS Code 인스턴스가 열리고 새 이미지 빌드를 시작하고 빌드가 완료되면 컨테이너가 시작.

 

아래 보면 .devcontainer 및 파일 내에 컨테이너 구성 정보를 포함하는 새 폴더가 표시 

Dockerfile, devcontainer.json

 

 

8. 프로젝트가 아직 WSL과 컨테이너 내에 모두 연결 되어 있는지 확인 하려면 VS Code 통합 터미널 (Ctrl + Shift + ~)을 열고 운영체제(uname)를 확인하고 python 버전을 입력(python3 --version)하여 확인한다.

uname이 Linux로 표기되었다는 말은 WSL에 계속 연결되어 있다는 말

 

Python 버전 번호는 container config를 기반으로 하기 때문에 WSL 배포에 설치된 Python 버전과 다를 수 있다.

 

9.

VS code를 사용하여 컨테이너 내에서 응용 프로그램을 실행하고 디버깅하려면 먼저 실행 메뉴(Ctrl + shift + D)를 열거나,

맨 왼쪽 메뉴 모음에서 탭을 선택, 실행 및 디버그를 선택하여 디버그 구성을 선택하고 프로젝트에 가장 적합한 구성을 선택.

그러면 .vscode 폴더 안에 launch.json 파일이 생성 → 응용 프로그램을 실행하는 방법에 대한 지침이 포함된 파일

F5를 클릭하여 디버깅 가능(그 전에 python3 -m pip install django로 django 라이브러리를 설치해줘야 함)

 

아래 링크를 참고하여 예제 수행

docs.microsoft.com/ko-kr/windows/wsl/tutorials/wsl-containers#overview-of-docker-containers

 

Linux 용 Windows 하위 시스템에서 Docker 컨테이너 사용 시작

Linux 용 Windows 하위 시스템에서 Docker 컨테이너를 설정 하는 방법에 대해 알아봅니다.

docs.microsoft.com