하나의 애플리케이션을 구성하다 보면 데이터베이스(MySQL)와 캐시 서버(Redis)를 함께 사용하는 경우가 많습니다.
이번 포스팅에서는 Docker Compose를 이용해 두 컨테이너를 한 번에 실행하는 방법을 알아보겠습니다
Docker Compose 파일 작성하기
docker-compose.yml 파일을 생성하고 아래 내용을 입력합니다.
services:
my-db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: pwd1234
volumes:
- ./mysql_data:/var/lib/mysql
ports:
- 3306:3306
my-cache-server:
image: redis
ports:
- 6379:6379
설명
- services: 실행할 컨테이너들을 정의하는 영역
- my-db: MySQL 컨테이너
- environment: 환경 변수 (root 비밀번호 설정)
- volumes: 데이터 영속화를 위한 볼륨 마운트
- ports: 포트 매핑 (호스트:컨테이너)
- my-cache-server: Redis 컨테이너
⚠️ 주의: YAML 파일은 들여쓰기가 매우 중요합니다! 스페이스 2칸 또는 4칸을 일관되게 사용하세요.
Compose 파일 실행하기
아래 명령어로 MySQL과 Redis를 동시에 실행할 수 있습니다.
$ docker compose up -d
-d 옵션은 백그라운드(detached) 모드로 실행하겠다는 뜻입니다.
실행 상태 확인하기
$ docker compose ps
# 또는
$ docker ps
두 개의 컨테이너(mysql, redis)가 동시에 실행 중인지 확인할 수 있습니다.
실행 중인 컨테이너 정리하기
$ docker compose down
이 명령은 실행된 컨테이너들을 모두 중지하고 제거합니다.
정리하면
이처럼 Docker Compose를 사용하면
여러 컨테이너를 각각 실행할 필요 없이 하나의 설정 파일로 일괄 관리할 수 있습니다.
복잡한 개발 환경도 이제 한 줄로 깔끔하게 실행해보세요! 🐳
'컨테이너·워크플로우 자동화 > DocKer 기본 및 활용' 카테고리의 다른 글
| 컨테이너로 실행된 Spring Boot가 MySQL에 연결되지 않는 이유 (0) | 2025.10.12 |
|---|---|
| Spring Boot와 MySQL 컨테이너를 함께 실행하기 (0) | 2025.10.12 |
| Docker Compose에서 build와 --build의 차이 이해하기 (0) | 2025.10.12 |
| Docker Compose를 사용하는 이유 (0) | 2025.10.12 |
| Dockerfile WORKDIR — 작업 디렉터리를 지정하는 명령어 (0) | 2025.10.12 |