정의
- 호스트 머신의 폴더 (로컬 컴퓨터 폴더)
- 컨테이너 내부 폴더와 컨테이너 외부 폴더를 서로 연결해주는 역할
종류
익명 볼륨(Anonymous Volumes)
- 도커 엔진 내부에 익명으로 새로운 볼륨을 생성하여 해당 볼륨과 지정한 컨테이너 디렉터리를 마운트
- 컨테이너가 존재하는 동안에만 존재
- 컨테이너 실행 시 -v 컨테이너 경로 옵션을 적용하면 생성
- docker-compose.yml에서는 volumes에 컨테이너 디렉터리 경로만 입력
- type = volume
명명 볼륨(Named Volumes)
- 도커 엔진 내부에 지정한 볼륨명으로 새로운 볼륨을 생성하여 해당 볼륨과 지정한 컨테이너 디렉터리를 마운트
- 컨테이너가 종료된 후에도 유지
- 컨테이너 실행 시 -v [볼륨명:컨테이너 디렉터리 경로] 옵션을 적용하면 생성
- docker-compose.yml에서는 volumes에 [볼륨명:컨테이너 디렉터리 경로] 형식으로 입력
- type = volume
바인드 마운트(Bind Mount)
- 지정한 로컬 디렉터리와 컨테이너 디렉터리를 바인드 마운트
- 컨테이너가 종료된 후에도 유지
- 컨테이너 실행 시 -v [로컬의 디렉터리 경로:컨테이너 디렉터리 경로] 옵션을 적용하면 생성
- docker-compose.yml에서는 volumes에 [로컬의 디렉터리 경로:컨테이너 디렉터리 경로] 형식으로 입력
- type = bind
※ docker volume ls 명령 시 조회되는 것은 익명 볼륨과 명명 볼륨이고, 바인드 마운트는 volume으로 조회 X
※ 마운트(Mount) = 물리적인 장치를 특정 디렉터리에 연결 시켜주는 것
docker-compose.yml 예시
version: '3'
services:
springboot:
build:
context: ./springboot/test
container_name: spring_boot
ports:
- "8080:8080"
volumes:
- /var/app # anonymous volume
- test2:/usr/app # named volume
- ../springboot/test:/app # bind mount
restart: always
volumes:
test2:
'DevOps > Docker' 카테고리의 다른 글
docker-compose (0) | 2023.09.05 |
---|---|
Dockerfile 기본 문법 (0) | 2023.02.03 |
Docker 기본 명령어 (0) | 2022.12.21 |
댓글