정의
- Volume:
- 도커에 의해 관리되는 호스트 파일시스템의 일부입니다 (일반적으로 /var/lib/docker/volumes/ 에 위치).
- 도커 CLI 명령어를 통해 직접 관리할 수 있습니다.
- 여러 컨테이너 간에 쉽게 공유할 수 있습니다.
- 볼륨 드라이버를 사용하여 원격 호스트나 클라우드 제공업체에 데이터를 저장할 수 있습니다.
- 컨테이너가 삭제되어도 볼륨은 유지됩니다.
- Bind Mount:
- 호스트 시스템의 어느 위치에나 저장할 수 있습니다.
- 호스트의 파일 또는 디렉토리가 컨테이너에 마운트됩니다.
- 호스트 시스템의 파일 구조와 OS에 의존적입니다.
- 호스트 시스템의 민감한 파일에 접근할 수 있어 보안상 주의가 필요합니다.
주요 차이점
- 관리:
- Volume: 도커에 의해 관리됨
- Bind Mount: 호스트 파일시스템에서 직접 관리됨
- 위치:
- Volume: 도커가 관리하는 위치에 저장
- Bind Mount: 호스트 시스템의 어느 위치에나 저장 가능
- 내용 수정:
- Volume: 컨테이너 내부에서만 수정 가능
- Bind Mount: 호스트와 컨테이너 양쪽에서 수정 가능
- 백업과 마이그레이션:
- Volume: 더 쉽게 백업하고 마이그레이션할 수 있음
- Bind Mount: 호스트 시스템에 의존적이라 마이그레이션이 복잡할 수 있음
- 공유:
- Volume: 여러 컨테이너 간에 쉽게 공유 가능
- Bind Mount: 호스트 시스템의 같은 경로를 사용하는 컨테이너 간에만 공유 가능
- 성능:
- Volume: 특히 Linux에서 더 나은 성능을 제공할 수 있음
- Bind Mount: 호스트 파일시스템에 직접 접근하므로 때에 따라 성능 차이가 있을 수 있음
'Code > Docker' 카테고리의 다른 글
[Docker] Networking (Bridge, Host, Overlay) (0) | 2024.10.16 |
---|