[심화] 17. 마운트

백하림's avatar
Jul 31, 2025
[심화] 17. 마운트
🔥

📌 마운트(Mount)란?

마운트란 호스트(내 컴퓨터)의 디렉토리(폴더)를 컨테이너 내부 디렉토리와 연결하는 것임.
즉, 호스트와 컨테이너가 같은 파일을 공유할 수 있게 해주는 기능.

🧱 마운트의 목적

목적
설명
코드 연동
컨테이너를 매번 다시 빌드하지 않고, 로컬 코드 변경이 컨테이너에 반영됨.
로그 공유
컨테이너에서 생성한 로그를 호스트에서 바로 확인 가능.
데이터 유지
컨테이너가 삭제돼도 호스트에 있는 데이터는 유지됨.
개발 생산성 향상
변경사항을 실시간 반영해 빠르게 개발 및 테스트 가능.

바인드 마운트 (호스트 시스템 → 컨테이너로 bind)

docker run -d -p 8000:80 \ -v /c/workspace/docker-lab/ex01:/usr/local/apache2/htdocs httpd
구분
설명
/c/...
호스트 컴퓨터의 폴더 경로
/usr/...
컨테이너 내부의 경로 (httpd는 여기서 HTML 파일을 찾음)
-v 옵션
volume 옵션. 이걸 통해 마운트를 설정함

📁 마운트 종류

종류
설명
Bind Mount
호스트의 지정된 디렉토리를 그대로 연결. 개발 환경에서 자주 사용.
Volume
Docker가 관리하는 전용 저장소. 주로 운영 환경에서 사용.
tmpfs
휘발성 저장소. 재부팅하면 사라짐. 주로 민감 정보 저장용으로 사용.

💡 정리

마운트는 "내 컴퓨터의 폴더를 도커 컨테이너와 연결"하는 기술임.
개발 중 컨테이너 안팎에서 파일을 공유하거나 실시간으로 반영하고 싶을 때 필수임.

Apache 웹 서버(httpd)를 백그라운드로 실행하고, 컨테이너의 80번 포트를 내 컴퓨터의 8080 포트에 연결하는 명령어

notion image

ID가 36c3로 시작하는 컨테이너 안에 bash 셸로 접속하는 명령어 즉, 실행 중인 컨테이너에 들어가서 직접 명령어를 실행할 수 있는 상태

notion image

호스트의 /c/workspace/docker-lab/ex01 폴더를 Apache 컨테이너의 웹 루트 디렉토리(/usr/local/apache2/htdocs)에 마운트하고, 포트 8000으로 외부에서 접근할 수 있게 httpd 웹 서버를 백그라운드로 실행하는 명령어

notion image

Nginx 웹 서버 컨테이너를 백그라운드로 실행하면서, 컨테이너의 80번 포트를 호스트의 8000번 포트에 연결하는 명령어

notion image
notion image

호스트의 c:\workspace\docker-lab\ex01 폴더를 nginx 컨테이너의 웹 루트 디렉토리(/usr/share/nginx/html)에 마운트하고, 8000 포트로 접근 가능한 nginx 웹 서버를 백그라운드로 실행하는 명령어

notion image
notion image
 
Share article

harimmon