본문으로 건너뛰기

Day 6 - Docker Compose

Day 6 - Docker Compose

목차


1. Docker Compose 설치

여러 컨테이너를 하나의 서비스로 정의하고 관리

# 버전 확인
docker compose version

# 설치 (없는 경우)
sudo apt install docker-compose-plugin

# 수동 업데이트
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64 \
-o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

2. WordPress + MySQL 구성

docker-compose.yml

services:
mysql:
image: mysql:8
volumes:
- db:/var/lib/mysql
environment:
MYSQL_DATABASE: mydb
MYSQL_USER: user
MYSQL_PASSWORD: password
networks:
- mynet-bridge-2

wordpress:
image: wordpress:latest
ports:
- "8585:80"
environment:
WORDPRESS_DB_HOST: mysql:3306
WORDPRESS_DB_USER: user
WORDPRESS_DB_NAME: mydb
WORDPRESS_DB_PASSWORD: password
depends_on:
- mysql
networks:
- mynet-bridge-2

web:
image: nginx:1.29.3-alpine
ports:
- "8383:80"

networks:
mynet-bridge-2:
external: true

volumes:
db:

서비스 구성

서비스이미지포트역할
mysqlmysql:83306데이터베이스
wordpresswordpress:latest8585:80CMS
webnginx:1.29.3-alpine8383:80웹서버

3. 실행 및 관리

# 네트워크 먼저 생성
docker network create mynet-bridge-2

# 실행
docker compose up -d

# 상태 확인
docker compose ps

# 로그 확인
docker compose logs -f

# 중지
docker compose down

# 볼륨까지 삭제
docker compose down -v

접속

서비스URL
WordPresshttp://localhost:8585
Nginxhttp://localhost:8383

관련 문서

그래프 뷰

그래프 데이터 로딩 중…
현재: Day 6 - Docker Compose
노드 클릭 → 이동 · 드래그 → 위치 조정