일상/삽질

Docker image통해 flask app 구동

sseram 2023. 10. 8. 22:39
반응형

[Flask app 은 기본적으로 작성되어있다고 가정.]

 

 

1. Docker 설치

- window : https://docs.docker.com/desktop/install/windows-install/

- mac : https://docs.docker.com/desktop/install/mac-install/

- linux : https://docs.docker.com/desktop/install/linux-install/

 

 

2. Docker Desktop (window, mac) / Docker service (linux) 시작

 

 

 

 

3. pip freeze 통해 필요한 모듈들 뽑아내기

pip freeze > requirements.txt

 

위 명령 결과로 requirements.txt 라는 파일이 생성된다.

 

 

 

 

4. Dockerfile 작성

 

## ./Dockerfile

# 기본 이미지 설정
FROM python:3.11.4

# 작업 디렉토리 설정
WORKDIR /flaskr

# 애플리케이션 소스 코드를 현재 디렉토리로 복사
COPY . /flaskr

# install python dependencies
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt

# 애플리케이션 실행 명령
CMD ["python", "app.py"]

 

 

* 작업 디렉토리는 본인에 맞는 경로 사용.

* 맨 마지막에 들어갈 app.py 에는 flask app 실행시키는 명령 필요

예제)

더보기
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello, Docker!"

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000)

 

 

5. Docker 이미지 build

docker build -t flask-app:latest .

...

 

 

 

6. Docker 이미지 실행

docker run -p 5000:5000 flask-app:latest

 

 

 

 

 

 

이렇게 하면, docker image를 통해 flask app 구동이 가능하다!

반응형