일상/삽질
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 구동이 가능하다!
반응형