도커에서 바인드 마운트와 볼륨의 차이에 대해 설명을 요청하신 것 같습니다. 이를 바탕으로 두 방식에 대해 구체적으로 설명드리겠습니다.
1. 바인드 마운트 (Bind Mount)
- 정의: 바인드 마운트는 호스트 머신의 특정 디렉터리나 파일을 컨테이너 안에 마운트하는 방식입니다.
- 경로: 바인드 마운트는 호스트 머신의 경로를 지정해서 사용합니다. 예를 들어, /vol 경로 아래에 있는 index.html 파일을 컨테이너 안에 마운트하고자 한다면, docker run 명령어에서 다음과 같이 사용합니다:이 경우, 호스트 시스템의 /vol/index.html 파일이 컨테이너 내부의 /path/in/container/index.html 위치에 마운트됩니다.
-
bash코드 복사docker run -v /vol/index.html:/path/in/container/index.html my-container
- 특징:
- 호스트 시스템의 파일 시스템과 밀접하게 연결됩니다.
- 호스트 시스템의 파일 변경이 바로 컨테이너에 반영됩니다.
- 컨테이너에서 변경된 내용도 호스트 파일에 바로 반영됩니다.
- 지정한 경로에 의존하므로 호스트 시스템과의 직접적인 의존성이 존재합니다
- ->
개념: 바인드 마운트는 내 컴퓨터에 있는 특정 폴더나 파일을 도커 안에서 바로 사용할 수 있도록 연결하는 방법
예시: 예를 들어, 내 컴퓨터에 C:\data\index.html 파일이 있다고 하면,
이 파일을 도커에서 사용하려면 바인드 마운트를 사용해 도커에 연결할 수 있습니다.
특징:
내 컴퓨터와 도커가 직접 연결됩니다.
내 컴퓨터에서 파일을 수정하면 바로 도커 안에서도 그 수정이 반영돼요.
2. 볼륨 방식 (Volume)
- 정의: 볼륨은 도커가 관리하는 디렉터리로, 주로 컨테이너 간 데이터 공유나 영속적인 데이터를 저장하는 데 사용됩니다. 도커는 볼륨을 내부적으로 관리하므로 호스트 시스템에 의존하지 않습니다.
- 경로: 도커가 관리하는 특정 위치에 데이터를 저장합니다. 예를 들어, 도커는 /var/lib/docker/volumes/<volume-name>/_data 경로 아래에 데이터를 저장할 수 있습니다. 만약 index.html 파일을 볼륨을 통해 마운트하려면 다음과 같이 실행합니다:이 경우, my-volume이라는 도커 볼륨이 생성되고, 볼륨 내의 데이터는 컨테이너 내의 /path/in/container 위치에 마운트됩니다.
-
bash코드 복사docker run -v my-volume:/path/in/container my-container
- 특징:
- 도커가 관리하는 방식으로, 컨테이너와 독립적인 데이터를 제공합니다.
- 호스트 시스템의 파일 시스템에 의존하지 않으며, 도커가 자체적으로 경로를 관리합니다.
- 여러 컨테이너 간에 데이터를 쉽게 공유할 수 있습니다.
- 데이터가 컨테이너 외부에 저장되기 때문에, 컨테이너가 삭제되어도 데이터는 유지됩니다
볼륨방식 쉽게 설명하기
1. 개념: 볼륨은 도커가 관리하는 특별한 공간을 만들어서, 그 안에 데이터를 저장하는 방법이에요.
2. 이 공간은 도커가 알아서 관리해줍니다.
예시: 내가 도커를 사용할 때 중요한 파일을 도커 안에 보관하고 싶으면, 볼륨을 만들어 그 안에 데이터를
저장할 수 있어요. 이 데이터는 도커가 따로 관리하고, 내 컴퓨터와는 연결되지 않아요.
특징:
도커가 데이터 저장을 관리합니다.
다른 도커 컨테이너들이 이 공간을 공유할 수 있어요.
도커가 데이터를 지속적으로 저장해줘서, 컨테이너가 삭제돼도 데이터는 그대로 남아요.
요약
- 바인드 마운트: 호스트 시스템의 특정 경로를 컨테이너에 마운트. 호스트와 컨테이너 간 실시간 데이터 동기화.
- 볼륨: 도커가 관리하는 경로에 데이터를 저장. 컨테이너 간 데이터 공유와 영속성 제공.
반응형
'클라우드 > Docker' 카테고리의 다른 글
docker-compose (1) | 2024.11.26 |
---|---|
[docker] devops/컨테이너 (0) | 2024.11.25 |
[DOCKER] EC2 생성 / Nginx 배포 (0) | 2024.11.24 |
[docker] 기본개념 및 동작 (2) | 2024.11.20 |
Docker 명령어 정리 (1) | 2024.11.17 |