ssung_데이터 엔지니어링/10주차_Docker

Docker_(3)

ssungcohol 2023. 12. 20. 16:55

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