Volume & Bind Mount

namkun·2022년 5월 9일
0

Docker & Kubernetes

목록 보기
16/16
  • 사용법

    • dockerfile

      VOLUME ["path"]
    • docker CLI

      $ docker run -v [path] # anonymous volume
      $ docker run -v [name]:[path] # named volume
  • 특징

    • 컨테이너에 연결된 일종의 볼륨을 생성

    • 볼륨은 호스트 머신상의 도커 스토리지 디렉토리에 새로운 디렉토리로 생성

    • 도커가 볼륨의 디렉토리를 관리

    • 만약 컨테이너 생성시에 --rm 옵션을 사용했다면, 컨테이너가 종료됨과 동시에 볼륨도 동시에 삭제됨

    • 익명의 볼륨은 --rm 옵션이 없었다고 한들 같은 이미지에 대해서 볼륨 재사용 불가, 여러 컨테이너 간의 공유 불가

    • 반대로 명명된 볼륨은 해당 볼륨 재사용 가능 및 여러 컨테이너간에 공유 가능

    • 볼륨은 컨테이너에 이미 존재하는 특정 데이터를 덮어쓰기로부터 보호하기 위해 사용될 수 있음 ( 외부 경로보다 컨테이너 내부 경로의 우선순위를 높여서 데이터를 보호)

    • docker CLI나 docekr API를 통해서 관리됨

    • Bind Mount에 비해서 백업이나 마이그레이트 하기 쉬움

Bind Mount

  • 사용법

    • docker CLI

      docker run -v [path]:[path]
  • 특징

    • Volume에 비해서 기능이 제한되어있음
    • 호스트 머신 파일 시스템의 위치가 컨테이너가 마운트 됨
    • 특정 컨테이너에 국한되지 않음
    • 관련된 데이터를 삭제하려면 직접 호스트머신에서 지워야함
    • 여러 컨테이너에 대해서 데이터 공유 가능
    • 같은 컨테이너에 대해서 재사용 가능
profile
개발하는 중국학과 사람

0개의 댓글