Docker Volume
- 소프트웨어가 Docker Container를 통해 동작 시 관련된 데이터는 휘발성 데이터임
- 이를 방지하기 위한 것이 Docker Volume
- Docker Container 내의 가상 파일 시스템과 호스트 시스템의 파일 시스템을 맵핑
- Container와 Host 시스템이 특정 폴더를 공유하는 것
- 즉, Container가 사라지더라도 데이터는 남게 하는 것 - 호스트 파일 시스템 폴더를 Docker Container 파일 시스템 폴더로 마운트하는 것
- 파일 시스템에서의 마운트
- 마운트 = 디스크와 물리적인 장치를 파일 시스템의 특정 위치(폴더)에 연결하는 것
- 파일 시스템에서의 마운트
Docker Volume 타입
- Host Volumes: docker run -v 를 실행할 때 페어로 지정
- : 앞이 호스트 파일 시스템 패스이고 뒤가 컨테이너 파일 시스템 패스 - Anonymous Volumes: docker run -v 를 실행할 때 컨테이너 패스만 지정
- docker run -v name:/var/lib/mysql/data
- Dockerfile에서 사용되는 방식으로 호스트 쪽에 액세스되지는 않지만 재시작해도 유지 - Named Volumes: docker run -v 를 실행할 때 이름과 컨테이너 패스를 지정
- docker run -v name:/var/lib/mysql/data
- 가장 선호되는 방식으로, 하나의 volume을 다수의 컨테이너에서 공유하는 것이 가능
- docker-compose에서도 사용 - Volume을 Readonly로 지정하고 싶을 경우
- 경로 뒤에 ':ro'를 붙여 지정 name:/var/lib/mysql/data:ro
728x90
'ssung_데이터 엔지니어링 > 10주차_Docker' 카테고리의 다른 글
Docker_(5) (0) | 2023.12.22 |
---|---|
Docker_(4) (1) | 2023.12.21 |
Docker_(2) with CI/CD (0) | 2023.12.19 |
Docker_(1) feat. vi (or vim) (0) | 2023.12.18 |