✅ 1. 여러 컨테이너를 한 번에 관리할 수 있습니다.
예를 들어, 웹 서버 (Node.js)와 데이터베이스(MongoDB)를 같이 사용한다면:
- 일반 Docker로는 2개 컨테이너를 따로 docker run 해야 합니다.
- Compose를 쓰면 docker-compose up 한 줄로 두 개 다 실행됨
📦 즉, 여러 서비스를 하나의 프로젝트처럼 다룰 수 있다.!
✅ 2. 설정을 파일로 정리할 수 있음
docker run 으로 옵션을 하나하나 붙이는 대신
docker-compose.yml 에 전부 정의해놓고 나중에 바로 재사용 가능!
services:
web:
build: .
ports:
- "3000:3000"
db:
image: mongo
🧾 버전 관리도 가능하고, 팀원끼리 공유하기도 쉽습니다!
✅ 3. 서비스 간 의존성 관리가 쉬움
예 : 웹 서버가 MongoDB가 켜진 다음에 실행돼야 할 경우
depends_on:
- mongo
🔄 실행 순서를 자동으로 관리해줘서 안정적임
✅ 4. 네트워크 설정이 자동으로 됨
Compose로 실행하면 컨테이너끼리는 자동으로 같은 네트워크 안에서 실행됨.
따라서 localhost 대신 서비스 이름으로 서로 접근 가능합니다!
mongoose.connect('mongodb:///mongo:27017/mydb')
🌐 복잡한 네트워크 설정 없이도 컨테이너 간 통신이 쉬움
✅ 5. 실무에서 표준처럼 사용됨
팀 개발, CI/CD, 서버 배포 등 대부분의 Docker 프로젝트는 Compose로 구성됩니다.
작업 자동화와 협업에 매우 유리합니다/
🎯 요약
이유 | 설명 |
여러 서비스 실행 | 여러 컨테이너를 한 줄로 실행 |
설정 정리 | 옵션을 YAML 파일로 관리 |
의존성 명시 | 실행 순서 자동 관리 |
네트워크 자동화 | 이름만으로 통신 가능 |
실무 표준 | 대부분의 팀에서 활용 중 |
'코딩 > Docker' 카테고리의 다른 글
🐳 자주 사용하는 Docker Compose CLI 명령어 (0) | 2025.06.26 |
---|---|
🐳 Docker Compose + Nginx로 정적 웹사이트 띄우기 (0) | 2025.06.25 |
🐳 웹 프론트엔드 프로젝트(HTML, CSS, Nginx)를 Docker로 배포하기 (0) | 2025.06.25 |
🐳 웹 프론트엔드 프로젝트(Next.js)를 Docker로 배포하기 (0) | 2025.06.25 |
🐳 백엔드 프로젝트(Nest.js)를 Docker로 실행시키기 (1) | 2025.06.25 |
댓글