728x90
반응형
Python Flask 웹 프로젝트를 Docker 환경에서 실행하는 방법.

1. 프로젝트 디렉토리 준비
먼저 Flask 앱용 폴더를 만듭니다.
mkdir flask-docker-app
cd flask-docker-app
2. Flask 앱 파일 작성
아래는 가장 단순한 예시입니다. app.py 파일을 만듭니다:
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, Dockerized Flask!'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
- host='0.0.0.0'로 지정해야 Docker 컨테이너 외부에서 접근이 가능합니다.
3. 의존성 명시: requirements.txt
아래와 같이 requirements.txt 파일을 만듭니다:
flask
- 추가 패키지가 있으면 여기에 적어 주세요.
4. Dockerfile 작성
Docker에서 앱을 실행하기 위한 파일입니다.
# Dockerfile
FROM python:3.10
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "app.py"]
- FROM python:3.10: 원하는 버전으로 변경 가능.
- WORKDIR /app: 작업 디렉토리 지정.
- COPY . .: 코드 전체를 컨테이너에 복사.
- CMD: 컨테이너가 시작될 때 실행할 명령어.
5. 이미지 빌드
아래 명령어로 이미지를 빌드합니다:
docker build -t flask-docker-app .
-t옵션은 이미지에 태그를 붙임. 원하는 이름을 사용하세요.
6. 컨테이너 실행
아래처럼 실행합니다:
docker run -p 8080:5000 flask-docker-app
- -p 8080:5000: 호스트(로컬) 8080번 포트가 컨테이너 5000번 포트와 연결됩니다.
- 접속은 http://localhost:8080에서 가능합니다.
7. 실습 및 확인
브라우저에서 http://localhost:8080으로 접속하면 'Hello, Dockerized Flask!'가 보입니다.
8. 추가: Docker Compose 사용 (옵션)
여러 서비스가 필요할 때는 docker-compose.yml로 관리할 수 있습니다.
version: '3.8'
services:
web:
build: .
ports:
- "8080:5000"
실행은 다음과 같습니다:
docker compose up --build
요약 & 확인
- Flask 코드는 반드시 host='0.0.0.0'으로 실행해야 외부 접근 가능
- requirements.txt에 필요한 파이썬 패키지를 명시
- Dockerfile로 이미지를 만들고 run 명령으로 컨테이너를 띄움
728x90
반응형
'IT&DEV - IT & 개발 > Backend' 카테고리의 다른 글
| Spring Boot JAR 파일 Docker 배포 방법 (0) | 2025.11.03 |
|---|---|
| Mac에서 Python 3.10 설치 및 가상환경 세팅하기 (0) | 2025.10.14 |
| JPA 어노테이션 사용법을 알아보자 (0) | 2025.03.25 |
| MySQL 연결 오류 해결: Authentication plugin 'caching_sha2_password' cannot be loaded 오류 해결 방법 (0) | 2025.03.14 |
| [SpringBoot] application.properties를 application.yml로 변경하는 방법 (0) | 2025.01.23 |
댓글