컨테이너와 호스트 간 데이터를 공유하는데 사용하는 두 가지 방법인 named volume과 bind mount
1. Named Volume
- 도커에서 지원하는 데이터 저장 및 공유를 위한 메커니즘 중 하나
- 도커가 데이터를 저장하는 별도의 볼륨을 생성하며, 이 볼륨의 이름은 사용자가 정의함
- 볼륨은 도커 엔진에 의해 관리되며, 컨테이너와 볼륨 사이에는 경로가 있지만 호스트 파일 시스템과는 직접적으로 연결되지 않음
- 도커 엔진이 데이터를 보다 안전하게 관리할 수 있고 여러 컨테이너 간에 데이터를 쉽게 공유할 수 있음
1) named volume 생성
docker volume create {볼륨명}
// 예시
docker volume create myvolume
2) named volume 정보 보기
docker volume inspect {볼륨명}
//예시
docker volume inspect myvolume
3) named volume 연결하기
docker run -v {볼륨명}:{경로} {이미지명}
// 예시
docker run -v myvolume:/path/in/container myimage
2. bind mount
- 호스트 파일 시스템의 특정 경로와 컨테이너의 경로를 직접적으로 연결하는 방식
- 호스트의 파일이나 디렉토리를 컨테이너 내부에 마운트하여 컨테이너 내부와 호스트 간에 데이터를 공유할 수 있음
- 호스트 파일 시스템에 직접 접근할 수 있어 편리하지만, 도커 엔진에 의해 관리되지 않음
1) 호스트 파일 시스템과 직접 연결하기
docker run -v {host_path}:{container_path} {docker_image}
// 예시
docker run -v "$(pwd)/templates:/templates" -p 80:5000 haneulkim/docker-memo:version1
{host_path}: pwd 명령어로 호스트 경로 확인
{container_path}: Dockerfile에서 컨테이너 경로 확인
'Docker' 카테고리의 다른 글
도커(docker)와 Github action(깃헙 액션)으로 CI/CD 구현하기 (1) | 2022.12.16 |
---|---|
도커(docker) 사용 🍯꿀 팁! (0) | 2022.12.16 |
AWS EC2 서버에서 도커(docker)로 서비스 배포하기 (0) | 2022.12.16 |
도커(docker) 사용하지 않는 docker 리소스 정리하기 (0) | 2022.12.16 |
도커(docker) 컨테이너 리소스 사용량 제한하기 (0) | 2022.12.16 |