영구 볼륨

중급 Docker

Mike Metzger

Data Engineering Consultant

볼륨이란?

  • 볼륨은 Docker에서 데이터를 저장하는 옵션으로, 컨테이너 이미지나 호스트 파일시스템과 무관함
  • CLI(또는 API)로 관리
  • 여러 컨테이너 간 공유 가능
  • 파일 공유/바인드 마운트보다 성능 우수
  • 삭제 전까지 유지됨

볼륨 마운트.png

1 Image modified from https://docs.docker.com
중급 Docker

볼륨 관리

  • docker volume
  • docker volume create <volumename>
  • docker volume ls 또는 docker volume list
  • docker volume inspect
    • Name, Mountpoint, Options 등 다양한 메타데이터 제공
  • docker volume rm
중급 Docker

볼륨 생성 예시

bash> docker volume create sqldata
sqldata
bash> docker volume ls
DRIVER    VOLUME NAME
local     2f2b7f710551e004dcdd9edf4cad31c37826b428de12f1c04ca02305d216ab00
local     14da7ff0c6eb29f644e6f9f9d59bbcf56b3699c04881dd7cbcaa9ecd6bef239c
local     150aa3c5c7aee30ffd1ec7ecf39f03989bf561536a9413ebed96ffbaa537d103
local     sqldata
...
중급 Docker

볼륨 검사 예시

bash> volume inspect sqldata

[ { "CreatedAt": "2024-01-27T04:27:51Z", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/sqldata/_data", "Name": "sqldata", "Options": null, "Scope": "local" } ]
중급 Docker

볼륨 연결

  • -v 명령 사용
    • docker run -v <volumename>:<destination path>:<options>
    • 볼륨 이름: 기존 볼륨의 이름
    • 대상 경로: 볼륨을 마운트할 위치(예: /data)
    • 옵션: ro(읽기 전용) 등 콤마 구분 목록, 선택사항
  • 바인드 마운트처럼 --mount도 사용 가능
$ docker run -v sqldata:/data postgres
중급 Docker

드라이버

  • Docker 볼륨 저장 방식
  • 예:
    • 로컬 파일시스템(기본)
    • NFS(유닉스 파일 공유)
    • SMB / CIFS(윈도우 파일 공유)
중급 Docker

Ayo berlatih!

중급 Docker

Preparing Video For Download...