728x90
도커 볼륨 마운트 개요
볼륨은 스토리지의 한 영역을 분할한 것을 의미한다. 그리고 도커 컨테이너는 휘발성이기 때문에 종료가 되면 기존 데이터는 소멸된다. 이러한 상황에서 컨테이너 외부의 별도 볼륨을 두고 마운트시켜서 컨테이너가 외부의 데이터를 다룰 수 있게 할 필요가 있다.
- 볼륨 마운트
- 도커 엔진이 관리하는 영역 내 만들어진 볼륨을 컨테이너에 디스크 형태로 마운트 (임시용이나 지우면 안되는 파일을 두는 목적으로 많이 사용)
- 바인드 마운트
- 도커가 설치된 컴퓨터의 디렉토리(폴더) 등 도커 엔진에서 관리하지 않는 외부 영역의 기존 데이터를 컨테이너에 마운트하여 연결하는 방식이다 (자주 사용하는 파일을 두는 데 사용)
- tmpfs 마운트
- 주 메모리 영역을 마운트해서 사용하고, 속도가 높지만 도커가 정지되거나 호스트가 재부팅하면 소멸
볼륨과 바인드 마운트 방식의 차이점는 아래와 같다.
- 볼륨 마운트는 처음엔 접근이 어렵지만 익숙해진다면 경로 설정 등의 부담이 줄어들어서 권장.
- 바인드 마운트는 외부의 어떠한 폴더라도 파일을 둘 수 있으며 기존과 동일하게 사용할 수 있기에 외부 프로그램으로 편집도 가능하지만 외부의 변화(삭제, 편집) 등의 영향을 받을 수 있다.
어떠한 방식을 사용하든 스토리지 마운트는 run 커맨드로 실행한다.
볼륨 마운트의 경우, 스토리지 영역을 우선 생성한다.
# 볼륨 생성, 삭제 방법 docker volumne create {볼륨이름} docker volume rm {볼륨이름} # 스토리지, 볼륨 마운트 방법 docker run ... -v 스토리지_실제_경로:컨테이너_마운트_경로 ... docker run ... -v 볼륨_이름:컨테이너_마운트_경로 ... # 아파치 컨테이너 기반 예제 (로컬경로는 e:\docker_volume으로 지정) docker run --name apa000ex20 -d -p 8090:80 -v {e:\docker_volume}:/usr/local/apache2/htdocs httpd # -------------------- # 볼륨 마운트해보기 docker volume create apa000vol1 # 아파치 컨테이너 실행 docker run --name apa000ex21 -d -p 8091:90 -v apa000vol1:/usr/local/apache2/htdocs httpd # volume Inspect 커맨드로 볼륨 상세 정보 확인 docker volume inspect apa000vol1 # 아래와 같이 출력됨 [ { "CreatedAt": "2022-12-11T22:13:04Z", "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/apa000vol1/_data", "Name": "apa000vol1", "Options": {}, "Scope": "local" } ] # 컨테이너 Insepct 명령어 docker container inspect apa000ex21 # 도커 볼륨 삭제 docker volume rm apa000vol1
728x90
'CLOUD' 카테고리의 다른 글
도커 컨테이너와 호스트 간 파일 복사 (0) | 2022.12.05 |
---|---|
[TIL] 도커 워드프레스 및 레드마인 실행 연습 (0) | 2022.11.21 |
[TIL] 도커로 워드프레스 실행하기 (0) | 2022.11.15 |
[TIL] Docker 이미지 삭제하기 (0) | 2022.11.14 |
[TIL] AWS 재해복구(DR) 관련 단어 메모 (0) | 2022.11.11 |
[TIL] 도커 포트 번호 설정하기 221109 (0) | 2022.11.10 |