본문 바로가기
운영체제/리눅스(CentOS)

Docker Compose 사용법 완벽 가이드

by 마루의 일상 2025. 5. 7.
728x90
반응형

 

🐳 Docker Compose 사용법 완벽 가이드 (yml 설정 파일 작성법 포함)

Docker는 컨테이너 기반의 가상화 플랫폼으로, 여러 서비스를 동시에 실행할 때는 Docker Compose를 사용하는 것이 매우 편리합니다. 이 글에서는 Docker Compose의 개념부터 docker-compose.yml 작성법, 실전 예제까지 알아봅니다.

📌 Docker Compose란?

Docker Compose는 여러 개의 Docker 컨테이너를 정의하고, 한번에 실행할 수 있도록 도와주는 도구입니다. 설정 파일 하나(docker-compose.yml)로 웹 서버, 데이터베이스 등 여러 컨테이너를 한꺼번에 관리할 수 있어, 개발환경 자동화에 매우 유용합니다.

🛠️ Docker Compose 설치 방법

Docker Desktop을 설치했다면 Compose도 함께 설치됩니다.
Linux에서는 아래 명령어로 설치 여부를 확인할 수 있습니다:

docker-compose --version

📄 docker-compose.yml 기본 구조

version: "3.8"  # Compose 파일 버전

services:       # 실행할 서비스들 정의
  web:          # 서비스 이름
    image: nginx
    ports:
      - "8080:80"

  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: example

🔍 주요 구성 요소

키워드 설명
version Compose 파일 버전 지정 (권장: 3.8)
services 실행할 컨테이너 목록
image 사용할 도커 이미지
build Dockerfile로부터 직접 빌드할 때 사용
ports 호스트:컨테이너 포트 바인딩
volumes 호스트 ↔ 컨테이너 데이터 공유
environment 환경 변수 설정

🎯 실전 예제: 웹 + DB 구성

version: "3.8"

services:
  web:
    image: php:8.2-apache
    ports:
      - "8080:80"
    volumes:
      - ./src:/var/www/html

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: myapp
      MYSQL_ROOT_PASSWORD: secret

📁 폴더 구조 예시

project/
├── docker-compose.yml
└── src/
    └── index.php

🚀 실행 방법

docker-compose up         # 실행
docker-compose up -d      # 백그라운드 실행
docker-compose down       # 중지 및 컨테이너 삭제

💡 유용한 팁

  • .env 파일을 만들어 환경변수를 분리 관리할 수 있음
  • depends_on 옵션으로 실행 순서를 조정할 수 있음
  • volumes로 소스코드 변경 즉시 반영 가능

✅ 마무리

Docker Compose는 복잡한 개발 환경을 간단하게 구축하고 실행할 수 있게 도와주는 강력한 도구입니다. 위 예제를 응용해 Node.js, Redis, PostgreSQL 등 다양한 조합으로 확장할 수 있습니다. 앞으로 프로젝트 환경 구성 시 꼭 사용해보세요!

 

728x90
반응형