Docker의 Named Volume vs Bind Mount
Docker Volume을 구성하는 서로 다른 두가지 방법을 알아보자
리서치DockerNamed VolumeBind Mount
2025. 06. 16
Named Volume
services:
db:
image: mongo:latest
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: 1234
volumes:
- mongodb-data:/data/db
volumes:
mongodb-data:
볼륨에 저장되는 데이터들은 Docker 엔진이 관리하는 별도의 공간에 저장된다.
Docker Compose 파일이 위치한 프로젝트 폴더가 사라지거나 이동해도 볼륨을 그대로 유지할 수 있다.
Docker CLI 명령어를 통해 쉽게 볼륨 및 그 데이터를 관리할 수 있다.
그러나 데이터의 경로를 직접 확인하거나 지정할 수 없기 때문에 사용자 입장에서 모호할 수 있다.
Bind Mount
services:
db:
image: mongo:latest
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: 1234
volumes:
- ./data/mongodb:/data/db
볼륨에 저장되는 데이터들은 설정에 명시한 호스트 서버의 특정 경로에 저장되고 동기화된다.
사용자가 데이터에 쉽게 접근할 수 있어 Named Volume 방식보다 직접 수정이 간편하다.
그러나 데이터가 호스트 서버의 특정 경로에 의존하기 때문에 그 경로가 변경되거나 삭제되면 데이터가 손실될 수 있는 가능성이 있다.