Docker Compose 기본 사용법 정리 (초보자 쉽게 이해하기)
Docker를 조금만 사용해 보면 이런 상황을 자주 겪게 됩니다.
- 웹 서버 컨테이너
- DB 컨테이너
- Redis 컨테이너
이렇게 여러 개의 컨테이너를 동시에 실행해야 하는 경우가 많습니다.
하지만 매번 docker run 명령어를 여러 번 입력하는 것은 꽤 번거로운 일입니다.
이때 사용하는 도구가 바로 Docker Compose입니다.
Docker Compose를 사용하면 여러 개의 컨테이너를 하나의 설정 파일로 관리하고 한 번에 실행할 수 있습니다.
목차
- Docker Compose란 무엇인가
- Docker Compose를 사용하는 이유
- docker-compose.yml 파일 구조
- 기본 사용 예제
- 자주 사용하는 명령어
- 정리
Docker Compose란 무엇인가
Docker Compose는 여러 개의 Docker 컨테이너를 하나의 설정 파일로 정의하고 동시에 실행할 수 있게 해주는 도구입니다.
즉 다음과 같은 구조를 한 번에 실행할 수 있습니다.
웹 서버 (Node / Spring)
데이터베이스 (MySQL / PostgreSQL)
캐시 서버 (Redis)
이 모든 컨테이너를 docker-compose.yml 파일 하나로 관리할 수 있습니다.
그래서 Docker를 사용하는 대부분의 프로젝트에서는 Compose를 함께 사용합니다.
Docker Compose를 사용하는 이유
Docker Compose를 사용하는 가장 큰 이유는 환경 관리가 매우 쉬워지기 때문입니다.
- 여러 컨테이너를 한 번에 실행 가능
- 프로젝트 환경을 코드로 관리
- 개발 환경 재현이 쉬움
- 명령어 한 번으로 실행 가능
특히 팀 프로젝트에서는 Compose를 사용하면 개발 환경을 동일하게 맞추기 쉬워집니다.
docker-compose.yml 파일 구조
Docker Compose는 docker-compose.yml 파일을 기반으로 동작합니다.
기본적인 구조는 다음과 같습니다.
version: "3"
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: 1234
여기서 중요한 부분은 services입니다.
services 아래에 실행할 컨테이너들을 정의합니다.
Docker Compose 기본 예제
웹 서버와 데이터베이스를 함께 실행하는 간단한 예제를 보겠습니다.
version: "3"
services:
web:
image: nginx
ports:
- "8080:80"
database:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: 1234
이 파일을 저장한 뒤 다음 명령어를 실행합니다.
docker-compose up
그러면 다음 작업이 자동으로 진행됩니다.
- nginx 컨테이너 실행
- mysql 컨테이너 실행
- 네트워크 자동 생성
단 한 줄의 명령어로 여러 컨테이너가 동시에 실행됩니다.
자주 사용하는 Docker Compose 명령어
Docker Compose를 사용할 때 가장 많이 사용하는 명령어는 다음과 같습니다.
컨테이너 실행
docker-compose up
백그라운드 실행
docker-compose up -d
컨테이너 종료
docker-compose down
컨테이너 상태 확인
docker-compose ps
개발 환경에서는 보통 다음 명령어를 가장 많이 사용합니다.
docker-compose up -d
정리
Docker Compose는 여러 개의 Docker 컨테이너를 하나의 파일로 관리할 수 있는 도구입니다.
핵심 개념을 정리하면 다음과 같습니다.
docker-compose.yml
↓
서비스 정의
↓
docker-compose up
↓
모든 컨테이너 실행
Docker를 사용한다면 Compose는 거의 필수 도구라고 할 수 있습니다.
특히 개발 환경 구축이나 테스트 환경을 만들 때 매우 유용합니다.
자주 묻는 질문 (FAQ)
Docker Compose는 언제 사용하는 것이 좋을까요?
웹 서버, 데이터베이스, 캐시 서버처럼 여러 컨테이너를 함께 실행해야 할 때 사용하는 것이 좋습니다.
Docker Compose 없이도 Docker 사용이 가능한가요?
가능합니다. 하지만 여러 컨테이너를 실행할 때 관리가 어려워질 수 있습니다.
Docker Compose는 운영 환경에서도 사용할 수 있나요?
가능하지만 대규모 환경에서는 Kubernetes 같은 오케스트레이션 도구를 사용하는 경우가 많습니다.
'개발 > 도커(DOCKER)' 카테고리의 다른 글
| Docker 용량이 계속 늘어나는 이유? `docker_data.vhdx` 개념부터 정리합니다 (Windows Docker Desktop 필수 이해) (0) | 2026.04.25 |
|---|---|
| Docker 컨테이너 삭제 및 정리 방법 (실무에서 자주 쓰는 명령어) (1) | 2026.03.18 |
| Docker 컨테이너와 이미지 차이 완벽 이해 (초보자 가이드) (0) | 2026.03.16 |