파이썬 도커 설정

버들비·2021년 12월 11일
0

Dockerfile 과 실행파일 app.py 는 같은 폴더에 위치시켜놓자.

예제로 쓰일 app.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    print('Hello World!')
    return 'hello'

if __name__=='__main__':
    app.run(debug=True, host='0.0.0.0', port=3000)

Dockerfile

# 가져올 이미지
FROM python:3.7-alpine

# bash 를 사용하기 위해 설치
RUN apk update && apk add --no-cache bash

# python 기본 패키지
RUN apk add --update build-base python3-dev py-pip

# 환경변수 설정
ENV LIBRARY_PATH=/lib:/usr/lib

# 호스트와 연결할 포트
EXPOSE 3000

# 기본 디렉토리
WORKDIR /app
COPY . /app/

# flask 설치
RUN pip install flask

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

도커 파일 작성후 터미널 명령어 docker build -t [이미지명]:[태그명] . 을 통해 빌드.
빌드 후 docker run -p [로컬포트]:[컨테이너포트] -v ${PWD}/[실행할스크립트].py:/[도커파일에 작성한 기본디렉토리]/[실행할스크립트].py [이미지명]:[태그명] 를 통해 실행.
-t : 태그 추가 명령어
-p : 포트번호 설정
-v : 실행파일이 변경될때마다 변경사항을 즉시 적용하는 옵션(app.py 를 수정할때마다 다시 빌드를 할 필요가 없어진다)

ex
docker build -t test:v1 .
docker run -p 3000:3000 -v ${PWD}/app.py:/app/app.py test:v1

ref

http://labs.brandi.co.kr/2021/01/20/hwangsg.html

0개의 댓글