개요
Docker Compose 는 여러 컨테이너로 구성된 애플리케이션을 docker-compose.yml 파일 하나로 정의하고 실행하는 도구.
기본 사용법
# 실행
docker compose up -d
# 특정 파일 지정
docker compose -f docker-compose.yml up -d
# 중지
docker compose down
# 로그 확인
docker compose logs -f
# 특정 서비스만 재시작
docker compose restart < servic e >
# 빌드 후 실행
docker compose up --build -d
docker-compose.yml 구조
version : '3.8'
services :
web :
image : nginx:alpine
ports :
- "80:80"
volumes :
- ./html:/usr/share/nginx/html
depends_on :
- db
environment :
- ENV=production
db :
image : postgres:16
environment :
POSTGRES_DB : mydb
POSTGRES_USER : user
POSTGRES_PASSWORD : password
volumes :
- postgres_data:/var/lib/postgresql/data
volumes :
postgres_data :
networks :
default :
driver : bridge
주요 옵션
옵션 설명 image사용할 Docker 이미지 buildDockerfile로 이미지 빌드 ports호스트:컨테이너 포트 매핑 volumes볼륨 마운트 environment환경 변수 depends_on의존 서비스 (시작 순서) networks네트워크 설정 restart재시작 정책 (always, unless-stopped) profiles선택적 서비스 그룹핑
vs Docker Swarm / Kubernetes
항목 Compose Swarm Kubernetes 목적 단일 호스트 개발/운영 멀티 호스트 클러스터 대규모 클러스터 복잡도 낮음 중간 높음 용도 로컬 개발, 소규모 서비스 중소 규모 엔터프라이즈
관련 항목