[50] 명명된(name) 볼륨으로 구조하기!

    728x90
    반응형

     

    명명된(named) 볼륨으로 구조하기!

    Docker의 볼륨 유형과 데이터 관리

     

     

    볼륨의 두 가지 유형

    익명 볼륨 (Anonymous Volumes)

    • 특징
      • 도커가 자동 관리
      • 임시적 특성
      • 컨테이너와 생명주기 연결
    • 생성 방법
    VOLUME ["/app/feedback"]
    • 한계
      • 컨테이너 제거 시 볼륨도 삭제 (--rm 사용 시)
      • 직접 접근 어려움
      • 컨테이너를 종료하고 수동으로 삭제하면, 볼륨이 삭제되진 않지만 새로 생성/실행할대마다 새 볼륨이 생성되기에 데이터 저장 안된다

     

    명명된 볼륨 (Named Volumes)

    • 특징
      • 사용자가 이름 지정
      • 영구적 데이터 저장
      • 컨테이너 독립적
    • 생성 방법
    docker run -v feedback:/app/feedback 이미지명
    •  장점
      • 컨테이너 제거 후에도 데이터 유지
      • 여러 컨테이너 간 공유 가능

     

     

    볼륨 관리 명령어

    # 볼륨 목록 확인
    docker volume ls
    
    # 특정 볼륨 제거
    docker volume rm 볼륨명
    
    # 사용하지 않는 볼륨 제거
    docker volume prune

     

     

    익명 볼륨 명령어 예시

    # 케이스 1: stop/start
    docker run -v /app/data ...  # 익명 볼륨 생성
    docker stop 컨테이너ID      # 볼륨 유지
    docker start 컨테이너ID     # 같은 볼륨 사용
    
    # 케이스 2: 삭제 후 재생성
    docker run -v /app/data ...  # 첫 번째 익명 볼륨
    docker rm 컨테이너ID        # 볼륨 남음
    docker run -v /app/data ...  # 새로운 익명 볼륨 생성
    
    # 케이스 3: --rm 옵션
    docker run --rm -v /app/data ...  # 종료 시 볼륨도 삭제

     

     

    주요 차이점 정리

    생명주기

    • 익명 볼륨 : 컨테이너 의존적
    • 명명된 볼륨 : 독립적 유지

     

    접근성

    • 익명 볼륨 : 도커 관리, 접근 제한
    • 명명된 볼륨 : 이름으로 관리 가능

     

    용도

    • 익명 볼륨 : 임시 데이터
    • 명명된 볼륨 : 영구 데이터 저장

     

     

    사용 시나리오

    익명 볼륨 사용

    • 임시 캐시 데이터
    • 컨테이너 종속적 데이터
    • 재사용 불필요 데이터

     

    명명된 볼륨 사용

    • 데이터베이스 파일
    • 사용자 업로드 파일
    • 설정 파일

    이러한 볼륨 관리를 통해 효율적인 데이터 지속성을 확보할 수 있습니다.

     

     

     

    참고

    https://www.udemy.com/course/docker-kubernetes-2022

     

    728x90
    반응형

    댓글