1. Docker 데이터 저장 방식 (Bind Mount vs Volume)
1️⃣ 바인드 마운트 (Bind Mount)
1) 개념
- 내 PC(호스트)의 특정 폴더를 컨테이너 내부에 그대로 연결(link) 하는 방식
- 컨테이너는 실제로 데이터를 갖고 있는 게 아니라 내 PC의 파일을 “바로 바라보는 구조”
2) 동작 구조
내 PC 폴더 ←→ 컨테이너 내부 폴더- 파일을 한쪽에서 수정하면 양쪽 모두 즉시 반영됨
3) 특징
- 컨테이너 삭제/종료 → 데이터 유지됨 (PC에 있기 때문)
- 로컬 파일을 직접 수정 가능 (개발에 매우 편함)
- 경로를 직접 지정해야 함 (예: /Users/... 또는 C:...)
4) 장점
- 코드 수정 → 바로 반영 (핫 리로드 느낌)
- 디버깅, 개발 환경에 매우 유리
5) 단점
- 로컬 PC 환경에 의존적
- 경로 관리가 번거로움
- 운영 환경(서버)에서는 잘 안 씀
2️⃣ 볼륨 마운트 (Volume Mount)
1) 개념
- 도커가 관리하는 별도의 저장 공간(Volume) 을 사용하는 방식
- 로컬 PC가 아니라 도커 내부에 데이터 저장소가 따로 존재
2) 동작 구조
도커 Volume ←→ 컨테이너 내부 폴더3) 특징
- 컨테이너 삭제 → 데이터 유지됨 (Volume에 저장됨)
- Docker가 자동으로 경로 관리
- 여러 컨테이너가 하나의 볼륨 공유 가능
4) 장점
- 운영 환경에 적합 (안정적, 독립적)
- 경로 신경 안 써도 됨
- 컨테이너 간 데이터 공유 가능
5) 단점
- 로컬에서 직접 파일 확인/수정이 어려움
- 처음에는 개념이 조금 헷갈림
3️⃣ 바인드 마운트 vs 볼륨 마운트 핵심 비교
구분 | 바인드 마운트 | 볼륨 마운트 |
저장 위치 | 내 PC (호스트) | 도커 내부 |
관리 주체 | 사용자 | Docker |
데이터 유지 | O | O |
경로 설정 | 직접 지정 필요 | 자동 관리 |
사용 목적 | 개발 환경 | 운영 환경 |
접근성 | 매우 쉬움 | 상대적으로 어려움 |
이식성 | 낮음 (환경 의존) | 높음 |
4️⃣ 비유로 이해하기
- 바인드 마운트
→ 내 집 책상을 회사 사무실에 그대로 연결해 놓은 느낌
(내 책상 수정하면 회사에서도 바로 보임)
- 볼륨 마운트
→ 회사에 개인 사물함을 만들어서 거기에 자료 넣는 느낌
(회사 내부에서만 관리되지만 안전하게 유지됨)
5️⃣ 그림으로 이해하기

6️⃣ 언제 어떤 걸 써야 하나?
개발할 때 → 바인드 마운트
- 코드 수정 → 바로 반영 필요
서비스 운영할 때 → 볼륨 마운트
- 안정성, 독립성 중요
7️⃣ 추가로 알아두면 좋은 포인트
- 컨테이너는 원래 데이터가 휘발성(날아감)
→ 그래서 마운트(저장 연결)가 필수
- 볼륨은 Docker Desktop이나 CLI로 관리 가능
- 여러 컨테이너가 하나의 볼륨을 공유하면
→ DB, 로그 저장 등에 매우 유용
Share article