볼륨 & 바인드 마운트정리

유현민·2022년 9월 22일
0

도커 & 쿠버네티스

목록 보기
13/28
post-thumbnail

익명 볼륨

docker run -v /app/data...

  • -v 명령어 및 도커 파일의 VOLUME 으로 생성
  • 익명 볼륨은 컨테이너에 연결된 일종의 볼륨을 생성
  • 컨테이너가 제거되면 볼륨 삭제
  • 컨테이너를 종료하고 다시 시작해도 컨테이너가 제거되면 익명 볼륨도 제거
  • 컨테이너 간에 데이터 공유 불가능
  • 컨테이너에 이미 존재하는 특정 데이터를 잠그는데 유용하다
    why? -> 덮어쓰기 방지, 위치를 찾기가 거의 불가능
  • 시간 절약 가능
  • 호스트 머신에 폴더 생성
  • 도커가 컨테이너 내부에 모든 데이터를 저장할 필요가 없다.
  • 도커가 이 컨테이너 읽기-쓰기 레이어 내부의 모든 데이터를 관리할 필요는 없다.

이름이 있는 볼륨

docker run -v data:/app/data...

  • 도커에서 생성 불가능
  • -v 명령어로 생성
  • 특정 컨테이너에 연결 x
  • 컨테이너를 삭제해도 남아있다.
  • 여러 컨테이너 간에 데이터를 공유할 수 있다.
  • 컨테이너 종료 및 제거 전반에 걸쳐 데이터를 저장하는데 사용할 수 있다.

바인드 마운트

docker run -v /path/to/...:/app/code...

  • 호스트 머신에 데이터가 저장되는 위치를 알 수 있다.
  • 하나의 컨테이너에 국한되지 않는다.
  • 다수 컨테이너에 연결 가능
  • 컨테이너 종료 및 제거 후에도 유지
  • 바인드 마운트 데이터를 지우기 위해서는 실제 호스트 머신에서 삭제해야한다.
    -> 즉 로컬 파일을 삭제해야 컨테이너의 모든 데이터를 제거할 수 있다.
  • 컨테이너 간에 데이터 공유 가능
  • 재시작을 거쳐 동일한 컨테이너 중 하나에서 재사용 가능
profile
smilegate megaport infra

0개의 댓글