VSCode를 Docker Container에 붙여 작업하기 #1
by QerogramContainer 환경이 아닌 On-Premise 서버에만 자주 붙여봤으나 Container에 붙여보긴 처음이라 한 번 기록해봤다.
1. 환경 세팅
1-1. Docker
이미지가 없는 경우부터 가정하고, 아래처럼 Dockerfile을 만들어주자.
(아래의 Dockerfile의 경우 우분투 18.04에 파이썬 3.7, ssh를 올리고 flask를 올리는 간단한 소스코드로 작성했다)
FROM ubuntu:18.04 RUN apt-get update && apt-get install -y \ software-properties-common RUN add-apt-repository ppa:deadsnakes/ppa RUN apt-get update && apt-get install -y \ python3.7 \ python3-pip RUN python3.7 -m pip install pip RUN apt-get update && apt-get install -y \ python3-distutils \ python3-setuptools RUN python3.7 -m pip install pip --upgrade pip RUN apt-get install ssh -y RUN pip3 install flask flask-restx COPY deploy /app WORKDIR /app ENTRYPOINT [ "sh", "entrypoint.sh" ]
Dockerfile을 파싱해 환경을 구축하는 run.sh 코드는 다음과 같다.
docker build . -t qerogram:latest docker run -p 8888:8888 -p 8822:22 -it qerogram:latest
run.sh를 실행해주면 아래와 같이 앱이 성공적으로 실행된다. 본 게시글에서 실행될 파이썬 소스는 제공하지 않는다.

1-2. VSCode
VSCode에서 "Remote - Containers", "Docker" 플러그인을 설치한다.

2. VSCode Attach
뭐 별거 없이 Docker Plugin Tab에서 실행된 컨테이너에 우클릭 후 "Attach Visual Studio Code"를 클릭한다.

위 버튼을 클릭하면, Container에 바로 연결이 되므로 작업하면 된다.

참고로 코드 실행하려면 관련된 플러그인을 해당 컨테이너에 설치해줘야 한다. 적용하지 않아도 shell command로 명령어를 실행할 수 있다. 다만, vscode를 붙인 이유가 퇴색되므로 꼭 설치해서 사용하자.

3. 실행
remote debugger를 등록할 필요없이, 2항에서 설정한 환경만으로도 디버깅이 가능하다.

블로그의 정보
Data+
Qerogram