🧱 마운트의 목적
목적 | 설명 |
코드 연동 | 컨테이너를 매번 다시 빌드하지 않고, 로컬 코드 변경이 컨테이너에 반영됨. |
로그 공유 | 컨테이너에서 생성한 로그를 호스트에서 바로 확인 가능. |
데이터 유지 | 컨테이너가 삭제돼도 호스트에 있는 데이터는 유지됨. |
개발 생산성 향상 | 변경사항을 실시간 반영해 빠르게 개발 및 테스트 가능. |
바인드 마운트 (호스트 시스템 → 컨테이너로 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 포트에 연결하는 명령어

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

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

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


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


Share article