# Docker Compose란?
Docker Compose는 여러 개의 Docker 컨테이너를 하나의 서비스 단위로 정의하고 관리할 수 있는 도구이다.
여러 컨테이너로 구성된 애플리케이션을 한 번에 실행, 중지, 관리할 수 있게 해 준다.
# Docker Compose를 사용하는 이유
컨테이너 관리 용이
여러 컨테이너로 이루어진 복잡한 애플리케이션을 한 번에 실행하고 관리할 수 있다.
→ 예: MySQL, Nginx, Redis 등을 각각 개별 명령어로 실행할 필요 없이 Compose 파일 하나로 관리 가능.
명령어 간소화
기존 Docker CLI 명령어는 옵션이 복잡함.
Docker Compose에서는 단순히 docker compose up만 실행하면 된다.
docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v /path/to/data mysql환경 통합 관리
여러 컨테이너를 하나의 네트워크와 볼륨 환경에서 실행할 수 있어 환경 구성과 유지보수가 쉬워진다.
# Compose 파일 예제 (compose.yml)
services:
webserver:
container_name: webserver # 컨테이너 별칭
image: nginx # 사용할 이미지
ports:
- "80:80" # 포트 매핑
services : 관리할 컨테이너 그룹
container_name : 컨테이너 이름 지정
image : 사용할 Docker 이미지 지정
ports : 호스트와 컨테이너 간 포트 매핑
# Compose 명령어 사용법
| 기능 | 명령어 |
| 컨테이너 실행 | docker compose up (포그라운드) / docker compose up -d (백그라운드) |
| 실행 중 컨테이너 확인 | docker compose ps |
| 모든 컨테이너 확인 | docker compose ps -a |
| 로그 확인 | docker compose logs |
| 컨테이너 종료 | docker compose down |
| 이미지 재빌드 후 실행 | docker compose up --build / docker compose up --build -d |
| 이미지 다운로드/업데이트 | docker compose pull |
v1(docker-compose) 명령어는 업데이트 지원이 중단되었으므로 v2(docker compose) 사용 권장.
# Docker Compose 실행 흐름 예시 (Nginx)
Compose 파일 작성 (compose.yml)
services:
webserver:
container_name: webserver # 컨테이너 별칭
image: nginx # 사용할 이미지
ports:
- "80:80" # 포트 매핑
컨테이너 실행
docker compose up -d
실행 상태 확인
docker compose ps
브라우저에서 localhost:80 접속 확인

종료 시
docker compose down
'docker' 카테고리의 다른 글
| 도커 볼륨(=Docker Volume) (0) | 2025.12.03 |
|---|---|
| Docker (1) | 2025.11.28 |
