메뉴 건너뛰기

SayClub.org

도커(Docker)

Docker Compose 란?

미르다테 2026.04.29 09:59 조회 수 : 14

작성 기준: Docker Compose 실무 가이드
작성일: 2026-04-29 | 환경: Docker Engine, Compose V2

1. docker-compose란?

docker-compose는 여러 개의 Docker 컨테이너를 하나의 YAML 파일로 정의하고, 이를 통해 전체 애플리케이션 스택을 한 번에 관리할 수 있게 해주는 도구입니다.

복잡한 멀티 컨테이너 환경(예: Web + DB + Redis)을 단일 명령어로 오케스트레이션할 수 있어, 인프라를 코드로 관리하는 IaC(Infrastructure as Code) 환경을 구축하는 데 필수적입니다.

💡 핵심 장점
  • 단일 명령 제어: 모든 서비스를 한 번에 시작, 중지, 삭제 가능
  • 환경 일관성: 개발, 테스트, 운영 환경을 동일한 YAML로 유지
  • 네트워크 자동화: 컨테이너 간 전용 네트워크를 자동으로 생성 및 연결

2. 설치 및 확인

최근 Docker Desktop이나 최신 Docker Engine에는 docker compose 명령어가 기본 포함되어 있습니다.

[버전 확인]

$ docker compose version

3. 기본 문법 및 주요 명령어

모든 설정은 프로젝트 루트 디렉토리의 docker-compose.yml 파일을 기준으로 동작합니다.

명령어 설명
pull 설정된 모든 서비스의 이미지를 최신 버전으로 다운로드
up 서비스 실행: 컨테이너 생성 및 시작 (-d: 백그라운드)
down 서비스 중지: 컨테이너, 네트워크, 이미지 등을 일괄 삭제
ps 현재 프로젝트 내 컨테이너들의 상태 확인
exec 컨테이너 진입: 실행 중인 컨테이너 내부 셸 접속

4. 실무 활용 예제

🚀 [Scenario] Web-DB 스택 배포 및 업데이트

웹 서버(Nginx)와 데이터베이스(MySQL)를 함께 띄우고, 이미지를 최신화하여 재배포하는 과정입니다.

[Step 1: 최신 이미지 확보 및 배포]

# 1. 정의된 모든 서비스의 최신 이미지를 pull
$ docker compose pull

# 2. 변경된 이미지를 반영하여 컨테이너 재시작 (백그라운드)
$ docker compose up -d

[Step 2: 실행 상태 및 로그 확인]

[상태 확인]

$ docker compose ps

[실시간 로그]

$ docker compose logs -f

[Step 3: 컨테이너 내부 디버깅]

# web 서비스 컨테이너 안으로 접속하여 설정 파일 확인
$ docker compose exec web bash

⚠️ 주의 사항 (Caution)

  • 데이터 영속성(Persistence): 컨테이너는 삭제 시 내부 데이터가 사라집니다. DB 데이터 등은 반드시 volumes를 통해 호스트 디렉토리에 연결해야 합니다.
  • 포트 중복: 호스트 OS에서 이미 사용 중인 포트를 매핑할 경우 충돌이 발생하므로 주의하십시오.
번호 제목 글쓴이 날짜 조회 수
» Docker Compose 란? 미르다테 2026.04.29 14
58 도커(Docker)로 FileHatch 설치하기 미르다테 2026.02.03 19
57 도커(Docker)로 BentoPDF 설치하기 미르다테 2026.02.03 23
56 도커(Docker)로 Nginx Proxy Guard 설치하기 file 미르다테 2025.12.23 38
55 Docker - prune 도커 정리하기 미르다테 2025.11.28 46
54 도커(Docker)로 Tugtainer 설치하기(Watchtower 대체) 미르다테 2025.11.18 53
53 도커(Docker)로 Zoraxy 설치하기 미르다테 2025.07.16 170
52 도커(Docker)로 Syslog-ng 설치하기 미르다테 2025.07.07 181
51 도커(Docker)로 Guacamole 설치하기 file 미르다테 2025.06.12 190
50 도커(Docker)로 Drupal CMS 설치하기 미르다테 2025.05.23 182
49 도커(Docker)로 Arachni UI Web(웹스캐너) 설치하기 미르다테 2025.05.14 218
48 도커(Docker)로 diun(Docker Image Update Notifier) 구축하기 미르다테 2025.04.18 196
47 도커(Docker)로 Minio 설치하기 미르다테 2025.04.17 238
46 도커(Docker)로 Rocky Linux 9.5에 Squid Proxy 설치하기 미르다테 2025.04.15 172
45 도커(Docker)로 Zabbix 서버 구축하기 미르다테 2025.04.15 147
44 vaultwarden 버전 확인하기 미르다테 2025.02.10 162
43 Docker-compose up -d 시 실행 오류 해결 방법 미르다테 2024.12.30 181
42 Squid를 Docker 컨테이너로 실행하는 방법 미르다테 2024.12.30 151
41 도커(Docker)로 컨테이너 Log 확인툴(Dozzle) 설치하기 미르다테 2024.12.30 145
40 도커(Docker)로 It-Tools 설치하기 미르다테 2024.12.30 207
위로