최근 새로운 프로젝트를 시작해야해서 또 개발환경 세팅 언제 하고 앉아있나.. 하고 있었는데, 마침 유튜브 알고리즘에 재밌는게 떴다.
도커 저는 이렇게도 사용해봤습니다.
컨테이너를 활용해서 독립적인 개발환경을 구성한다. 당연한데 생각 못 해본 방법이다. 시작해보자.
도커 데스크탑에서도 베타 버전으로 지원하는 기능이다. 도큐먼테이션. 생성, 사용, 배포 방법까지 나와있으나, 현재 changing 중이라고 하니 참고하자. GITHUB에 샘플 개발 환경도 이미 만들어져있다. 클릭 한번이면 바로 사용 가능해서 편리하다.
이 글에서는
1. 개발환경 이미지 빌드
2. VScode와 연결
3. Docker Hub에 등록해 팀과 공유
4. GITHUB 와 연동
순서로 진행합니다.
Dockerfile
FROM python:3.11.7
WORKDIR /project
COPY . /project
RUN pip install --no-cache-dir --upgrade -r /project/requirements.txt
CMD ["/bin/bash"]
requirements.txt
fastapi
uvicorn
sqlalchemy
boto3
jinja2
docker build
$ docker build -t hivelab-devenv:1.0.0 .
$ docker build -t codeshmoon348/fastapi-dev-environment:0.1.0 .
vscode 상에서 docker, remote explorer extention 을 설치합니다.
터미널에서 docker run command를 통해 바인드 마운트를 한 컨테이너를 실행합니다.
실행된 컨테이너 환경에 우리가 원하는 개발환경이 구성된 것을 볼 수 있습니다. 이제 여기에서 virtualenv, git pull 등을 통해 개발을 시작합니다.
이후 vscode > remote explorer or docker 를 통해 vs code 창을 연결합니다.
docker hub에 푸시
$ docker push {namespace}/{repository}:{tagname}
$ docker push codeshmoon348/fastapi-dev-environment:0.1.0
도커허브의 Pro, Team and Business 구독을 하면 github repository 와 연동해 이미지 빌드 & 푸시의 과정을 자동화 할 수 있습니다.
추후 CI 도구를 사용해 연동하는 과정을 공유하겠습니다.
끝