inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

도커 볼륨과 바인드 마운트

해결된 질문

143

3831568

작성한 질문수 15

0

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

docker docker-volume

답변 2

1

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의 다양한 스토리지 옵션에 대한 설명을 참고해보시면 도움이 될 것입니다.

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

EC2 터미널에서 docker pull

0

64

2

AWS ECR

0

58

2

FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다

1

100

2

Redis 볼륨 설정?

0

117

2

컨테이너의 IP

0

80

2

도커 이미지를 만들 때 application.yml

0

105

2

compose.yml 관리

0

88

2

ECR 리포지토리에 이미지가 3개가 보입니다.

0

77

2

액세스 키 등록하는 시점 관련 질문이 있습니다.

0

83

1

depends_on에 따른 컨테이너 실행 순서

0

76

2

실제 웹 서비스 배포 시 질문

0

80

2

도커 volume 질문

0

67

3

HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?

0

74

2

sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?

0

74

2

39강 도커파일 빌드 경로 질문이 있습니다.

0

70

2

도커파일 copy

0

70

2

실무에서 docker compose up --build를 할 때

0

188

2

mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우

0

86

2

도커 허브에서 postgres 버전 확인하는 법

0

127

2

보충 자료와도 관련된 추가 내용

1

82

1

현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?

0

110

2

노션 자료에 안 보이는 이미지가 있습니다

0

101

1

도커 허브에서의 latest가 가장 최신인 게 맞나요?

0

121

2

docker image ls 실행 시 나오는 내용이 다릅니다

0

87

2