[docker] python docker 가상환경 구축

도도·2021년 8월 1일
0

기술Velog

목록 보기
13/28

python docker 가상환경 보일러 플레이트

목적

  • 도커환경을 이용해서 python 실행환경을 만들어 보자.
  • conda, virtualenv 없이 docker만으로 해결 해보자.
  • 도커 빌드를 통해 이미지로 만들자

선행사항

  • docker installed ( 도커 설치 )

package 관리

  • 설치파일은 requirements.txt 에 공통으로 모아두자
  • dev 환경에서도 이를 참조해서 설치하고, prod,test 환경도 마찬가지

기능

create:dev      개발 서버 컨테이너 생성
install:dev     requirements.txt 설치 명령어
start:dev       app.py 파이썬 실행 명령
bash:dev        컨테이너 접속
freeze:dev      requirements.txt 추출
rm:dev          컨테이너 삭제

create:test     --테스트 서버에 대한 명령어(동일)
install:test
start:test
bash:test
freeze:test
rm:test

build           도커 이미지로 빌드
run:prod        빌드한이미지를 컨테이너 실행
log:prod        로그 보기

명령어

    "create:dev":"docker run -itd --name flask_dev -p 5000:5000 -e PORT=5000 -v \"$PWD\":/usr/src/myapp -w /usr/src/myapp python:3 bash",
    "install:dev":"docker exec -it flask_dev pip install -r requirements.txt",
    "start:dev":"docker exec -it flask_dev python app.py",
    "bash:dev":"docker exec -it flask_dev bash",
    "freeze:dev":"docker exec -it flask_dev pip freeze > requirements.txt",
    "rm:dev":"docker stop flask_dev && docker rm flask_dev",

    "build":"docker build -t flask_server .",
    "run:prod":"docker run -itd --name myflask_server -p 5002:5002 -e PORT=5002 flask_server",
    "log:prod":"docker logs -f myflask_server",
    
    "create:test":"docker run -itd --name flask_test -p 5001:5001 -e PORT=5001 -v \"$PWD\":/usr/src/myapp -w /usr/src/myapp python:3 bash",
    "install:test":"docker exec -it flask_test pip install -r requirements.txt",
    "start:test":"docker exec -it flask_test python app.py",
    "bash:test":"docker exec -it flask_test bash",
    "freeze:test":"docker exec -it flask_test pip freeze > requirements.txt",
    "rm:test":"docker stop flask_test && docker rm flask_test"
profile
프론트 주력의 JS 개발자 입니다.! Node.js, React, NestJS 에 관심이 많습니다.

0개의 댓글