불륨이란 스토리지의 한영역을 분할한것을 말한다. 하드디스크난 SSD를 분할한 하나의 영역이다.
마운트는 연결하다 라는 의미 그대로 대상을 연결해 운영체제 또는 소프트웨어의 관리하에 두는 일을 말한다.
도커에서 스토리지의 마운트는 두 가지 종류가 있다. 하나는 불륨 마운트이고, 다른 하나는 바인드 마운트이다.
불륨 마운트: 도커 엔진이 관리하는 영역 내에 만들어진 불륨을 컨테이너에 디스크 형태로 마운트 한다. 하지만 직접 조작하기 어려우므로 임시목적의 사용이나 자주 쓰지는 않지만 지우면 안 되는 파일을 두는 목적으로 많이 사용한다.
바인드 마운트: 도커가 설치된 컴퓨터의 문서 폴더 또는 바탕화면 폴더 등 도커 엔진에서 관리하지 않는 영역의 기존 디렉토리를 컨테이너에 마운트 하는 방식이다. 디렉토리가 아닌 파일 단위로도 마운트가 가능
| 항목 | 불륨 마운트 | 바인드 마운트 |
|---|---|---|
| 스토리지 영역 | 불륨 | 디렉토리 또는 파일 |
| 물리적 위치 | 도커 엔진의 관리 영역 | 어디든지 가능 |
| 마운트 절차 | 불륨을 생성한 후 마운트 | 기존 파일 또는 폴더를 마운트 |
| 내용 편집 | 도커 컨테이너를 통해서 | 일반적인 파일과 같이 |
| 백업 | 절차가 복잡함 | 일반적인 파일과 같이 |
스토리지를 마운트 하려면 먼저 마운트될 스토리지를 생성해야 한다.
스토리지 영역을 생성 -> 컨테이너를 생성(및 마운트)
불륨 생성(불륨 마운트)
docker volume create 불륨_이름
불륨 삭제(불륨 마운트)
docker volume rm 불륨_이름
바인드 마운트
docker run -v 스토리지_실제_경로:컨테이너_마운트_경로
불륨 마운트
docker run -v 불륨_이름: 컨테이너_마운트_경로
예제
docker run --name apa -d -p 8089:80 -v /Users/~/apa_folder:/usr/local/apache2/htdocs httpd