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 [컨테이너이름] [명령어]컨테이너를 새로하나 띄워서 명령을 실행하고 삭제됨