Python

vs code 와 docker를 사용한 컨테이너 개발 환경(Python) 구축

vipDeveloper 2021. 4. 26. 18:41
반응형

1. vs code extension 설치

- Docker

- Remote - Containers

2. Docker 이미지 생성 및 컨테이너 실행

- Docker file 설정

# base 이미지
FROM ubuntu:16.04

MAINTAINER vipdeveloper <name@gmail.com>

# 기본 환경 설치 명령어
RUN apt-get update && apt-get install -y software-properties-common && add-apt-repository ppa:deadsnakes/ppa && \
    apt-get update && apt-get install -y python3.6 python3.6-dev python3-pip \
    vim ssh unzip

RUN rm -rf /var/lib/apt/lists/*
RUN ln -sfn /usr/bin/python3.6 /usr/bin/python3 && ln -sfn /usr/bin/python3 /usr/bin/python && ln -sfn /usr/bin/pip3 /usr/bin/pip

# pip 업데이트 및 파이썬 라이브러리 설치 명령어
RUN pip install --upgrade pip && pip install -U setuptools-scm \
pymysql \
pytz \
pysolr \
requests \
boto3 \
awscli \
Flask \
&& \
rm -rf /root/.cache

# 환경 설정
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
ENV PYTHONUNBUFFERED=TRUE
ENV PYTHONDONTWRITEBYTECODE=TRUE
ENV PATH="/var/task:${PATH}"

# 개발 소스 폴더 copy 
COPY task /var/task
WORKDIR /var/task

# 실행 명령어
# CMD [ "python", "./run.py" ]

- 도커 빌드 명령어 ( image name = docker_test ) 

docker build  -t docker_test .

- docker_shell.sh (image name = docker_test) 

#!/usr/bin/env bash

image=$1

if [ "$image" == "" ]
then
    image=docker_test
fi

# 포트 바인딩
docker run -p 8080:5000 -v ~/.aws:/root/.aws -v ~/.ssh:/root/.ssh -v $(pwd)/task:/var/task --rm -it $image /bin/bash

docker_shell.sh 실행 시 도커 확장 프로그램에 아래와 같이 컨테이너가 실행 중을 확인 할 수 있다.

 

3. vs code 의 확장 프로그램을 이용하여 해당 환경에 연결된 vs code 환경 실행

commend + shift + p 하여 Remote-Containers: Attach to Running Container... 를 선택

위에서 빌드 한 docker_test 가 실행되어 있는 컨테이너 선택

컨테이너 환경의 vs code 새창이 실행 됨

해당 환경에서 개발작업 및 테스트가 가능한 것을 확인

반응형