인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

3831568님의 프로필 이미지

작성한 질문수

비전공자도 이해할 수 있는 Docker 입문/실전

도커 볼륨과 바인드 마운트

해결된 질문

작성

·

92

0

섹션 4 도커 볼륨을 활용해 데이터 유실 방지하기를 공부하고 나서 관련된 내용을 좀더 공부하다가 바인드 마운트라는 것을 알았는데요
섹션 4 내용은 볼륨보다는 바인드 마운트에 대한 내용이라는 생각이 들었는데 어떤 차이가 있는건가요?

답변 2

1

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 3831568님! 예리한 질문 주셨네요ㅎㅎ

사실 섹션 4에서 언급한 볼륨의 개념은 정확하게 얘기하자면 '바인드 마운트'의 개념입니다.

하지만 실제로 '볼륨'과 '바인드 마운트'는 컨테이너와 호스트 간에

저장소를 공유한다는 점에서 유사합니다.

이 때문에 쉬운 이해를 위해 '볼륨'이라고 설명드렸습니다.

'볼륨'과 '바인드 마운트'의 개념을 구별하기 위해 아래 링크가 도움되실 것 같아서 첨부하겠습니다.

https://ok-lab.tistory.com/121

https://velog.io/@haeny01/Docker-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EA%B4%80%EB%A6%AC1-Volume-%EA%B3%BC-Bind-mounts

강의에서는 '바인드 마운트'에 대한 개념만 다루고 있기 때문에

추가적으로 도커의 '볼륨'의 개념에 대해서 추가적으로 학습해보셔도 좋을 것 같습니다:D

이 외로 궁금하신 점 생기시면 또 질문 남겨주세요~~

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 3831568님!

Docker에서 데이터를 지속하기 위해 활용되는 두 가지 주요 방식인 “볼륨(Volume)“과 “바인드 마운트(Bind Mount)“는 여러 가지 면에서 차이가 있습니다. 아래에 각 개념과 그 차이점에 대해 간략히 설명드리겠습니다.

  1. Docker 볼륨 (Volume):

    • Docker에서 데이터를 지속적으로 사용할 수 있도록 특별히 설계된 메커니즘입니다.
    • Docker가 자체적으로 관리하는 위치에 데이터가 저장되며, 이 위치는 Docker 엔진에 의해 자동으로 관리됩니다.
    • 여러 컨테이너 간에 쉽게 공유할 수 있으며, 데이터 백업이나 이동에도 편리합니다.
    • 데이터의 라이프사이클이 컨테이너보다 독립적이어서, 컨테이너가 삭제되더라도 데이터가 안전하게 보관됩니다.
  2. 바인드 마운트 (Bind Mount):

    • 호스트 시스템의 특정 디렉토리를 컨테이너 내의 특정 경로에 직접 연결하여 사용합니다.
    • 사용자가 지정한 호스트의 디렉토리와 Docker 컨테이너 내부의 디렉토리가 연결되므로, 호스트의 디렉토리 내용이 실시간으로 컨테이너와 동기화됩니다.
    • 컨테이너가 삭제되더라도 호스트의 데이터는 남아있습니다. 그러나 디렉토리가 변경되면 그 변화가 즉시 같이 반영되므로, 사용 시 주의가 필요합니다.
    • 개발 환경에서는 주로 테스트 및 코드의 즉각적인 반영을 위해 사용됩니다.

각 방법은 목적과 상황에 따라 적절히 선택해야 합니다. 만약 호스트의 디렉토리 접근과 변경에 민감하다면, 바인드 마운트를 사용할 수 있으며 데이터의 독립적인 관리를 원할 경우에는 볼륨을 사용하는 것이 좋습니다.

질문에 대한 보다 심도 깊은 이해를 돕기 위한 관련 자료로 Docker의 다양한 스토리지 옵션에 대한 설명을 참고해보시면 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

3831568님의 프로필 이미지

작성한 질문수

질문하기