Volume Driver Plugins in Docker

Yu Sang Min·2025년 6월 23일

CKA

목록 보기
67/110
post-thumbnail

💾 Docker Volume Drivers – 개념과 활용


📌 1. Storage Driver vs Volume Driver

항목Storage DriverVolume Driver
목적컨테이너의 RW Layer 및 이미지 레이어 관리**데이터 영속성(Persistent Data)**를 위한 외부 저장소 연결
예시overlay2, aufs, devicemapperlocal, rex-ray, portworx, vsphere
관리 대상이미지와 컨테이너의 파일시스템/var/lib/docker/volumes 또는 외부 스토리지
사용 방식Docker 내부적으로 자동 사용됨사용자가 docker run 시 지정 가능

📦 2. Local Volume Driver (기본값)

  • 기본 드라이버: local

  • 볼륨은 다음 위치에 생성됨:

    /var/lib/docker/volumes/<volume_name>/
# 볼륨 생성
docker volume create myvolume

# 컨테이너에 마운트
docker run -v myvolume:/data nginx
  • 컨테이너가 삭제되어도 데이터는 유지

☁️ 3. 서드파티 Volume Plugins (외부 스토리지 연동)

서드파티 볼륨 드라이버를 통해 클라우드, 네트워크 스토리지 등 외부에 저장소를 구성할 수 있음.

✅ 주요 드라이버 및 제공자

플러그인스토리지 제공자
rexray/ebsAWS EBS
rexray/s3fsAWS S3
gcepdGoogle Persistent Disk
flockerContainer-native storage
netappNetApp ONTAP
portworx고성능 다중 노드 스토리지
vsphereVMware 가상 스토리지
convoy다양한 스토리지 백엔드 통합

🔧 4. rexray 예시 – AWS EBS 볼륨 사용

docker plugin install rexray/ebs REXRAY_PREEMPT=true \
  EBS_ACCESSKEY=<your_access_key> \
  EBS_SECRETKEY=<your_secret_key> \
  EBS_REGION=ap-northeast-2

docker volume create --driver rexray/ebs --name my-ebs-volume

docker run -v my-ebs-volume:/data nginx
  • 이 경우, EBS 볼륨이 자동으로 프로비저닝되고 컨테이너에 연결됨
  • 컨테이너가 종료되어도, EBS는 클라우드에 남아 있음 → 데이터 손실 X

🎯 5. 핵심 요약

개념설명
Volume DriverDocker 컨테이너에 외부 저장소를 마운트할 수 있게 도와주는 플러그인 시스템
local기본 로컬 드라이버, /var/lib/docker/volumes 디렉토리에 저장
3rd-party PluginsAWS, Google, NetApp, Portworx, VMware 등 다양한 외부 스토리지 연동 지원
plugin installdocker plugin 명령어로 설치 및 설정 가능
보안/백업외부 드라이버 활용 시 백업 및 고가용성 구성에 유리

🚀 실전 팁

  • 스테이트풀(Stateful) 서비스(MySQL, MongoDB 등) 운용 시엔 volume driver 필수
  • 클라우드 환경에서는 직접 디스크 관리보다 rexray, portworx 같은 volume plugin으로 자동화 가능
  • docker volume ls, docker volume inspect 명령어로 볼륨 상태 모니터링
profile
React, Node.js, AWS, Git, Github, Github Action, Docker, K8S

0개의 댓글