1. Create Dockerfile

Dockerfile 생성하기

Dockerfile 생성하기 🐳

/Dockerfile

FROM centos/python-36-centos7

# timezone
RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

# path configs
ENV DEPLOY_HOME=/deploy
RUN mkdir -p $DEPLOY_HOME/
WORKDIR $DEPLOY_HOME

# python packages
ADD . $DEPLOY_HOME/
RUN pip install --upgrade -r requirements.txt

ENV PORT=8000 \
    NUM_WORKERS=4

ENTRYPOINT ["./docker-entry.sh"]

./docker-entry.sh

exec gunicorn server:app \
  --worker-class gunicorn.workers.ggevent.GeventWorker \
  --bind 0.0.0.0:$PORT "$@"

로컬에서 확인하기

Build Dockerfile

$ docker build -t {repository_name}

Run Docker Image

$ docker run -p 9000:8000 {repository_name}

Test API call

$ curl -X GET http://localhost:9000/

Example:

-

Dockerfile Command 상세 📄

  • centos 에 올라간 python 이미지를 받아옵니다.

FROM centos/python-36-centos7
  • 이후 현재 경로에 있는 폴더를 복사하고

ADD . $DEPLOY_HOME/
  • 현재 프로젝트에서 사용하고 있는 Python Packages 를 설치한 뒤

RUN pip install --upgrade -r requirements.txt
  • PORT 와 띄울 Worker 갯수를 환경변수로 셋팅하고, Entry Point 로 ./docker-entry.sh 를 지정해줍니다.

ENV PORT=8000 \
    NUM_WORKERS=4
    
ENTRYPOINT ["./docker-entry.sh"]

Last updated