화. 8월 12th, 2025

D: 🚀 도커 컴포즈(Docker Compose)는 여러 개의 컨테이너를 한 번에 관리할 수 있는 강력한 도구예요. 초보자분들을 위해 자주 사용하는 명령어를 모아 체계적으로 정리해봤어요!

🔧 기본 설정 파일 구조 이해하기

docker-compose.yml 파일은 프로젝트의 핵심이에요. 아래는 기본 예시입니다.

version: '3.8'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
  db:
    image: postgres:13
    environment:
      POSTGRES_PASSWORD: example

📌 주요 섹션:

  • version: 컴포즈 파일 버전
  • services: 실행할 서비스(컨테이너) 목록
  • image: 사용할 도커 이미지
  • ports: 포트 매핑 (호스트:컨테이너)
  • environment: 환경 변수 설정

🚦 기본 명령어 모음

  1. 서비스 시작하기

    docker-compose up -d  # 백그라운드 실행
    • -d 옵션은 데몬 모드(백그라운드 실행)
  2. 서비스 중지하기

    docker-compose down  # 컨테이너 정지 및 삭제
    docker-compose stop  # 컨테이너만 정지
  3. 상태 확인하기

    docker-compose ps  # 실행 중인 컨테이너 목록
    docker-compose logs -f  # 실시간 로그 확인
  4. 이미지 빌드하기

    docker-compose build  # Dockerfile 기반 이미지 빌드

⚡ 고급 명령어 활용법

  1. 특정 서비스만 실행

    docker-compose up -d web  # web 서비스만 실행
  2. 서비스 재시작

    docker-compose restart web  # web 서비스 재시작
  3. 의존성 있는 서비스 함께 실행

    docker-compose up -d --build  # 변경사항 반영 후 재빌드
  4. 환경 변수 파일 사용

    docker-compose --env-file .env up -d

🛠️ 문제 해결 명령어

  1. 컨테이너 접속하기

    docker-compose exec web bash  # web 서비스에 bash로 접속
  2. 볼륨 확인

    docker-compose volumes ls  # 볼륨 목록 확인
  3. 네트워크 확인

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

💡 실전 예제: 워드프레스 + MySQL

version: '3.8'
services:
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppass
    volumes:
      - db_data:/var/lib/mysql
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8000:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppass
volumes:
  db_data:

📌 실행 방법:

  1. docker-compose up -d 입력
  2. 브라우저에서 http://localhost:8000 접속

🎯 팁 & 주의사항

  1. docker-compose.yml 파일은 항상 프로젝트 루트에 위치
  2. --build 옵션으로 이미지 재빌드 가능
  3. docker-compose down -v로 볼륨까지 완전 삭제
  4. 버전 호환성 확인 필수 (특히 Docker Engine 버전)

💬 이 치트시트를 프린트해서 모니터 옆에 붙여두시면 작업 효율이 200% 올라갈 거예요! 도커 컴포즈로 멀티 컨테이너 관리가 쉬워지는 걸 느껴보세요 ✨

더 궁금한 점이 있다면 댓글로 질문해주세요! 👇

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다