Volumes 최상위 요소

Volumes 최상위 요소 (Volumes top-level element)

Compose 파일의 volumes 최상위 요소는 다중 컨테이너에서 공유되거나 재사용될 수 있는 이름 있는 볼륨을 정의해요. 컨테이너 외부에 데이터를 저장해 컨테이너 재생성 후에도 유지할 수 있어요.

출처: 문서

본문

설명 (Description)

volumes 최상위 요소는 서비스가 사용하는 이름 있는 볼륨을 선언해요. services 요소에서 참조하지 않는 한 볼륨은 자동으로 생성되지 않아요.

속성 (Attributes)

  • driver (선택): 볼륨에 사용할 볼륨 드라이버. 기본은 local이에요.
  • driver_opts (선택): 드라이버에 전달할 키-값 옵션.
  • external (선택): true이면 볼륨이 Compose 외부에 이미 존재함을 의미해요. Compose는 이 볼륨을 만들지 않고, 존재하지 않으면 오류를 반환해요. name을 제외한 다른 속성은 무시돼요.
  • labels (선택): 볼륨에 추가할 라벨.
  • name (선택): 볼륨의 커스텀 이름. 특수 문자를 포함한 볼륨을 참조할 때 사용하고, 프로젝트 이름으로 스코프가 한정되지 않아요.

예시 (Example)

services:
  db:
    image: postgres:18
    volumes:
      - db-data:/var/lib/postgresql/data

volumes:
  db-data:
    driver: local

external 볼륨 예시:

volumes:
  data:
    external: true
    name: my-precreated-data-volume

docker volume ls 명령으로 생성된 볼륨을 확인할 수 있고, docker compose downdocker compose down --volumes로만 명명된 볼륨을 삭제해요.

추가 참고

  • 서비스 내 볼륨 사용(마운트 문법)과 볼륨 드라이버에 대한 자세한 내용은 Compose 문서와 Docker volume 문서를 참고해요.

더 알아보기 (Learn more)

  • Docker Compose에서 볼륨 사용법 가이드와 Docker 볼륨 문서를 참고해요.