version: '3.8' # Compose 파일의 버전 지정
services:
web:
image: nginx:latest # Nginx 최신 이미지 사용
container_name: nginx-container # 컨테이너 이름 지정
ports:
- "8080:80" # 호스트의 8080 포트를 컨테이너의 80포트와 연결
depends_on:
- app # app 컨테이너가 실행된 후 web 컨테이너 실행
volumes:
- ./html:/usr/share/nginx/html # 로컬 html 폴더를 컨테이너 내부에 마운트
restart: always # 컨테이너가 종료될 경우 자동 재시작
app:
build: ./app # ./app 폴더 내 Dockerfile을 이용하여 빌드
container_name: flask-app # 컨테이너 이름 지정
environment:
- FLASK_ENV=development # 환경 변수 설정 (Flask 개발 모드)
- PORT=5000
expose:
- "5000" # 내부적으로 5000번 포트를 노출 (외부 접근은 불가)
command: python app.py # 컨테이너가 실행할 명령어 지정
도커 컴포즈를 실행시키는 YAML 파일의 예시 코드이다.
web과 app이라는 컨테이너의 옵션과 이미지 및 포트 등을 정의하고 실행까지 할 수 있는 코드