패스잇
인프라 & 클라우드 · 중급

Docker에서 데이터를 영속적으로 저장하기 위해 사용되는 Volume과 Bind Mount의 차이점을 설명하고, 각각 어떤 시나리오에서 더 적합한지 구체적인 사용 사례를 들어 비교해 주세요.

힌트 · 데이터의 관리 주체, 이식성, 성능, 그리고 컨테이너 라이프사이클과의 독립성을 고려하여 비교 설명합니다.

VolumeBind Mount데이터 영속성컨테이너 격리개발 환경

모범답안

네, Docker에서 데이터를 영속적으로 저장하는 Volume과 Bind Mount는 모두 유용한 방법이지만, 데이터 관리 방식과 사용 시나리오에서 차이가 있습니다.

Bind Mount는 호스트 파일 시스템의 특정 디렉토리를 컨테이너에 마운트하는 방식입니다. 간단하고 빠르지만, 컨테이너와 호스트 시스템 간의 의존성이 높아져 이식성이 떨어집니다. 예를 들어, 개발 환경에서 소스 코드를 컨테이너에 바로 마운트하여 실시간으로 변경 사항을 반영할 때 유용합니다.

반면, Volume은 Docker가 관리하는 별도의 저장 공간을 사용합니다. 컨테이너와 호스트 파일 시스템 간의 의존성이 낮고, 컨테이너가 삭제되어도 데이터가 유지됩니다. 또한, 여러 컨테이너 간에 데이터를 공유하기에도 용이합니다. 데이터베이스와 같이 컨테이너의 라이프사이클과 독립적으로 유지되어야 하는 데이터를 저장할 때 적합합니다. Volume은 Docker에게 데이터 관리를 맡기고 싶을 때, Bind Mount는 호스트 시스템의 파일을 직접 공유하고 싶을 때 선택하는 것이 좋습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Docker / Kubernetes 면접 질문

← Docker / Kubernetes 면접 질문 전체 보기