Docker Volume?
- 컨테이너의 데이터를 지속적으로 저장하기 위한 Docker의 저장소 메커니즘
- Docker 엔진이 관리하는 독립적인 저장소이며, 컨테이너의 독립성 유지
Anonymous Volume
- 별도의 이름이나 식별자 없이 Docker 엔진에 의해 자동으로 생성되는 볼륨
- 컨테이너를 실행할 때 옵션을 사용하여 호스트 경로를 지정하지 않으면 자동 생성
- 컨테이너 삭제 시 익명 볼륨에 저장된 데이터도 함께 삭제
Named Volume
- 볼륨에 고유한 이름을 지정하여 생성하는 볼륨
- 컨테이너를 삭제해도 삭제되지 않기에 데이터 보존 가능
예시
# Anonymous Volume
# 호스트 디렉토리를 지정하지 않고, 컨테이너 경로만 지정
# docker run -v [컨테이너 내부 경로] [이미지 이름]
docker run -v /container/path my-image
# Named Volume
# 볼륨 이름을 지정하여 생성
# docker run -v [볼륨 이름]:[컨테이너 내부 경로] [이미지 이름]
docker volume create my_named_volume
docker run -v my_named_volume:/container/path my-image
Mount
- 호스트의 파일 시스템 경로를 컨테이너 내부에 연결
- 호스트 머신의 디렉토리나 파일을 도커 컨테이너 내부에서 사용 가능
- 마운트의 경로 변경은 호스트와 컨테이너 양쪽에 영향
Bind Mount == Host Volume
- 호스트 파일 시스템 폴더를 Docker Container 파일 시스템의 폴더로 마운트 가능
- 호스트에서 내용을 바꾸면 Docker Container에도 반영
예시
# 볼륨 이름을 지정하여 생성
# docker run -v [호스트 경로]:[컨테이너 내부 경로] [이미지 이름]
docker run -v /host/path:/container/path my-image
정리
- Volume : 도커 내부에서 데이터를 관리하며 컨테이너 간의 데이터 공유 가능
- Mount : 호스트의 파일 시스템과 컨테이너를 연결하여 호스트와 컨테이너 간의 데이터를 공유
'Docker' 카테고리의 다른 글
[Docker] 6. docker-compose.yml? (1) | 2024.11.15 |
---|---|
[Docker] 5. Docker Compose? (0) | 2024.11.15 |
[Docker] 3. Docker Hub? (0) | 2024.11.13 |
[Docker] 2. Docker 기본 명령어 (1) | 2024.11.13 |
[Docker] 1. Docker? (0) | 2024.11.13 |