본문 바로가기
Infra/Docker

Docker Compose 필수 명령어 예시 총정리

by daddydontsleep 2024. 12. 9.
728x90
728x90

사진: UnsplashBernd 📷 Dittrich

Docker Compose 필수 명령어 총정리

안녕하세요! 오늘은 Docker Compose의 주요 명령어들을 자세히 알아보도록 하겠습니다. Docker Compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구로, 개발 환경에서 특히 유용합니다.

목차

  1. Docker Compose 기본 명령어
  2. 서비스 관리 명령어
  3. 모니터링 관련 명령어
  4. 네트워크 및 볼륨 관련 명령어
  5. 유용한 팁과 트릭

1. Docker Compose 기본 명령어

docker compose up

# 기본 실행
docker compose up

# 백그라운드 실행
docker compose up -d

# 특정 서비스만 실행 (예: web, db는 서비스 이름 예시입니다)
docker compose up web db

# 컨테이너 재생성
docker compose up --force-recreate

docker compose up 명령어는 가장 기본적인 명령어로, docker-compose.yml 파일에 정의된 모든 서비스를 실행합니다. -d 옵션을 사용하면 백그라운드에서 실행됩니다.

docker compose down

# 모든 리소스 종료 및 제거
docker compose down

# 볼륨까지 함께 제거
docker compose down -v

# 이미지까지 모두 제거
docker compose down --rmi all

down 명령어는 실행 중인 컨테이너를 중지하고 관련된 네트워크를 제거합니다.

2. 서비스 관리 명령어

서비스 시작/중지

# 특정 서비스 시작 (web은 서비스 이름 예시입니다)
docker compose start web

# 특정 서비스 중지
docker compose stop web

# 특정 서비스 재시작
docker compose restart web

서비스 빌드

# 모든 서비스 빌드
docker compose build

# 특정 서비스만 빌드 (web은 서비스 이름 예시입니다)
docker compose build web

# 캐시 없이 빌드
docker compose build --no-cache

3. 모니터링 관련 명령어

docker compose ps

# 실행 중인 컨테이너 목록
docker compose ps

# 중지된 컨테이너 포함
docker compose ps -a

docker compose logs

# 모든 서비스의 로그 확인
docker compose logs

# 특정 서비스의 로그만 확인 (web은 서비스 이름 예시입니다)
docker compose logs web

# 실시간 로그 확인
docker compose logs -f

# 최근 100줄만 확인
docker compose logs --tail=100

4. 네트워크 및 볼륨 관련 명령어

네트워크 관리

# 네트워크 목록 확인
docker compose network ls

# 네트워크 생성
docker compose network create my-network

# 네트워크 제거
docker compose network rm my-network

볼륨 관리

# 볼륨 목록 확인
docker compose volume ls

# 사용되지 않는 볼륨 제거
docker compose volume prune

5. 유용한 팁과 트릭

환경변수 활용

# 환경변수 파일 지정
docker compose --env-file .env.prod up -d

# 특정 프로젝트 이름으로 실행(myproject는 프로젝트 이름 예시입니다)
docker compose -p myproject up -d

스케일링

# 특정 서비스를 여러 개의 컨테이너로 스케일 (web은 서비스 이름 예시입니다)
docker compose up -d --scale web=3

구성 확인

# 구성 검증
docker compose config

# 서비스 구성 확인
docker compose config --services

주의사항

  1. docker compose down 명령어 사용 시 볼륨 삭제 여부를 신중히 결정하세요.
  2. 프로덕션 환경에서는 반드시 -d 옵션을 사용하여 백그라운드로 실행하세요.
  3. 로그 확인 시 --tail 옵션을 활용하여 필요한 만큼만 확인하세요.
  4. 민감한 환경변수는 반드시 .env 파일을 통해 관리하세요.

마치며

Docker Compose는 개발 환경에서 복잡한 애플리케이션 스택을 쉽게 관리할 수 있게 해주는 강력한 도구입니다. 위에서 소개한 명령어들을 잘 활용하면 더욱 효율적인 개발 환경을 구축할 수 있습니다.

다음 포스트에서는 Docker Compose를 활용한 실전 예제를 다뤄보도록 하겠습니다. 궁금하신 점이나 추가적인 내용이 있다면 댓글로 남겨주세요! 😊

#Docker #DockerCompose #DevOps #컨테이너 #개발환경

728x90
300x250