
| 항목 | Storage Driver | Volume Driver |
|---|---|---|
| 목적 | 컨테이너의 RW Layer 및 이미지 레이어 관리 | **데이터 영속성(Persistent Data)**를 위한 외부 저장소 연결 |
| 예시 | overlay2, aufs, devicemapper | local, rex-ray, portworx, vsphere |
| 관리 대상 | 이미지와 컨테이너의 파일시스템 | /var/lib/docker/volumes 또는 외부 스토리지 |
| 사용 방식 | Docker 내부적으로 자동 사용됨 | 사용자가 docker run 시 지정 가능 |
기본 드라이버: local
볼륨은 다음 위치에 생성됨:
/var/lib/docker/volumes/<volume_name>/
# 볼륨 생성
docker volume create myvolume
# 컨테이너에 마운트
docker run -v myvolume:/data nginx
서드파티 볼륨 드라이버를 통해 클라우드, 네트워크 스토리지 등 외부에 저장소를 구성할 수 있음.
| 플러그인 | 스토리지 제공자 |
|---|---|
| rexray/ebs | AWS EBS |
| rexray/s3fs | AWS S3 |
| gcepd | Google Persistent Disk |
| flocker | Container-native storage |
| netapp | NetApp ONTAP |
| portworx | 고성능 다중 노드 스토리지 |
| vsphere | VMware 가상 스토리지 |
| convoy | 다양한 스토리지 백엔드 통합 |
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
| 개념 | 설명 |
|---|---|
| Volume Driver | Docker 컨테이너에 외부 저장소를 마운트할 수 있게 도와주는 플러그인 시스템 |
| local | 기본 로컬 드라이버, /var/lib/docker/volumes 디렉토리에 저장 |
| 3rd-party Plugins | AWS, Google, NetApp, Portworx, VMware 등 다양한 외부 스토리지 연동 지원 |
| plugin install | docker plugin 명령어로 설치 및 설정 가능 |
| 보안/백업 | 외부 드라이버 활용 시 백업 및 고가용성 구성에 유리 |
docker volume ls, docker volume inspect 명령어로 볼륨 상태 모니터링