Docker Compose
Docker Compose 작성
파일이름은 docker-compose.yml 이다.
services:
bun_dev:
# 1. 빌드 설정 (현재 디렉토리의 Dockerfile을 사용하여 이미지 생성)
build:
context: .
dockerfile: Dockerfile
# 이미지 이름설정
image: node/bun
# 2. 컨테이너 이름 설정
container_name: bun_dev
# 3. 포트 매핑 (명령어에 있던 3000과 4321 포트)
ports:
- "3000:3000"
- "4321:4321"
# 4. 볼륨 설정 ($PWD를 /app에 연결하여 로컬 수정사항 실시간 반영)
volumes:
- .:/app
# 5. 작업 디렉토리 및 터미널 설정
working_dir: /app
stdin_open: true # -i 옵션 (표준 입력 유지)
tty: true # -t 옵션 (가상 터미널 할당)
# 6. 실행 명령어 (sh로 진입하거나 bun dev 등 개발 서버 실행용)
command: /bin/sh
도커 컴포즈 명령어 (docker-compose 는 구형 하이픈에 주의)
| 명령어 | 설명 |
|---|---|
| docker compose up -d | 컨테이너 빌드 및 백그라운드 실행 |
| docker compose up -build | 컨테이너 강제로 빌드 및 실행 |
| docker compose build | 컨테이너 빌드 |
| docker compose ps | 컨테이너 상태 확인 |
| docker compose top | 컨테이너의 자원 사용 확인 |
| docker compose logs -f | 모든 컨테이너 실시간 로그 출력 |
| docker compose logs -f [컨테이너 이름] | 컨테이너 실시간 로그 출력 |
| docker compose down | 컨테이너 종료 및 삭제 |
| docker compose exec [컨테이너이름] /bin/sh | 컨테이너 쉘로 진입 |
| docker compose run —rm [컨테이너이름] [명령어] | 컨테이너를 새로하나 띄워서 명령을 실행하고 삭제됨 |