Data+

VSCode를 Docker Container에 붙여 작업하기 #1

by Qerogram

Container 환경이 아닌 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

활동하기