D: 🚀 도커 컴포즈(Docker Compose)는 멀티 컨테이너 애플리케이션을 정의하고 실행하기 위한 강력한 도구입니다. 복잡한 서비스 배포를 단순화하고, 개발 환경과 프로덕션 환경에서 일관된 워크플로우를 제공합니다. 이번 포스팅에서는 실무에서 자주 사용하는 Docker Compose 명령어들을 총정리해보겠습니다! ✨
1️⃣ 기본 명령어 (Basic Commands)
docker-compose up
🏃♂️
- 컨테이너 생성 및 실행 (백그라운드 실행 시
-d
옵션 추가)docker-compose up -d # 백그라운드 실행
docker-compose down
🛑
- 컨테이너 중지 및 제거 (네트워크, 볼륨 포함 삭제 시
-v
옵션)docker-compose down -v # 모든 리소스 정리
docker-compose ps
📋
- 실행 중인 서비스 상태 확인
docker-compose ps
2️⃣ 빌드 및 로그 관련 명령어 (Build & Logs)
docker-compose build
🛠️
- 서비스 이미지 재빌드 (변경사항 반영 시)
docker-compose build --no-cache # 캐시 없이 완전 재빌드
docker-compose logs
📜
- 서비스 로그 확인 (실시간 로그 보기 시
-f
옵션)docker-compose logs -f web # web 서비스 로그 실시간 출력
3️⃣ 실행 제어 명령어 (Execution Control)
docker-compose start/stop/restart
⏯️
- 서비스 시작/중지/재시작
docker-compose restart nginx # nginx 서비스만 재시작
docker-compose pause/unpause
⏸️
- 서비스 일시 정지 및 재개
docker-compose pause redis
4️⃣ 환경 설정 및 관리 (Configuration)
docker-compose config
🔍
- 컴포즈 파일 검증 및 확인
docker-compose config # 유효성 검사
docker-compose pull
⬇️
- 최신 이미지 다운로드
docker-compose pull # 모든 서비스 이미지 업데이트
5️⃣ 고급 명령어 (Advanced Commands)
docker-compose exec
💻
- 실행 중인 컨테이너 내부 명령 실행
docker-compose exec db psql -U postgres # PostgreSQL 콘솔 접속
docker-compose scale
📊
- 서비스 복제본 수 조정 (Swarm 모드 전용)
docker-compose scale web=3 # web 서비스 3개 인스턴스 실행
🎯 실전 활용 예제
# docker-compose.yml 예제
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
db:
image: postgres:13
environment:
POSTGRES_PASSWORD: mysecretpassword
-
서비스 배포
docker-compose up -d
-
로그 확인
docker-compose logs -f web
-
DB 백업 수행
docker-compose exec db pg_dump -U postgres > backup.sql
💡 Pro Tips
docker-compose.yml
버전 호환성 확인 필수! (3.x 권장).env
파일로 환경변수 관리하면 보안성 UP! 🔒depends_on
으로 서비스 시작 순서 제어 가능services: web: depends_on: - db
이제 Docker Compose로 손쉽게 멀티 컨테이너 애플리케이션을 관리해보세요! 🎉 혹시 궁금한 점이 있다면 댓글로 남겨주세요~ 😊