[Docker] 컨테이너 스토리지 02

2025. 2. 11. 16:40·Docker/Docker

데이터 공유

Docker Volume

  • 도커 볼륨은 호스트의 파일 시스템에 데이터를 저장하며, 컨테이너 간 공유가 가능
  • 데이터 공유 방법 중 가장 보편적
  • 도커에서 독립적으로 관리
docker volume create [볼륨이름]
  • 호스트에서 새로운 볼륨을 생성
docker run -d --name container1 -v [볼륨이름]:/shared/data nginx
docker run -d --name container2 -v [볼륨이름]:/shared/data ubuntu
  • 여러 컨테이너에 같은 볼륨을 마운트
  • container1과 container2는 /shared/data 디렉토리에 동일한 데이터를 읽고 쓰기가 가능
  • 볼륨은 컨테이너가 삭제되더라도 보존되어 데이터를 안전하게 보호할 수 있다.

 


 

Host Bind Mount

  • 컨테이너간 호스트의 특정 디렉토리를 공유하여 데이터를 관리하는 방법
  • 두 개 이상의 컨테이너가 같은 호스트 경로를 마운트하면 동일한 데이터를 공유할 수 있다.
docker run -d --name container1 -v /host/shared:/shared nginx
docker run -d --name container2 -v /host/shared:/shared alpine
  • /host/shared라는 호스트의 디렉토리 경로
  • 두 컨테이너의 /shared 디렉토리는 동일한 호스트 디렉토리를 공유한다.

 

 


 

Docker volume 과 Host Bind Mount 차이점

1. 정의 및 설계 차이

  • Docker Volume
    • 도커가 직접 관리하는 방식
    • 보통 /var/lib/docker/volume 경로에 저장
    • 특정 컨테이너에 의존하지 않고 별도로 생성 및 관리가 가능
    • Docker CLI 명령어를 통해 관리
  • Host Bind Mount
    • 사용자가 지정한 디렉토리를 연결
    • 관리는 전적으로 사용자 책임

2. 저장 위치

  • Docker Volume
    • 도커 엔진이 독립적인 영역을 할당하여 데이터를 관리
    • 사용자는 물리적 위치에 신경을 쓰지 않아도 된다.
    • 기본적으로 /var/lib/docker/volume 아래에 저장되며 디렉토리 이름은 UUID 형태로 자동 생성된다.
  • Host Bind Mount
    • 사용자가 명시한 디렉토리를 그대로 사용한다.
    • 컨테이너는 마운트된 호스트 파일 시스템에 바로 접근 가능하다.
    • /home/user/data를 컨테이너의 /app/data로 마운트하면 데이터는 /home/user/data에 위치

 


 

Tmpfs Mount

  • 메모리를 기반으로 데이터를 저장하고 공유하는 방법
  • 민감하거나 일시적인 데이터를 공유할 때 사용한다.
  • 휘발성 데이터로 재부팅하거나 컨테이너를 삭제하면 데이터는 손실된다.
  • 디스크 대신 메모리를 사용하여 빠른 속도를 가지고 있다.
docker run -d --name container1 --tmpfs /shared tmpfs:size=64m nginx
docker run -d --name container2 --tmpfs /shared tmpfs:size=64m alpine

 


 

Container as Storage

  • 데이터를 저장할 컨테이너를 생성하여 다른 컨테이너가 볼륨으로 사용하는 방법
  • 데이터를 쉽게 보관할 수 있다.
docker create -v /shared/data --name datacontainer alpine
  • 데이터 저장용 컨테이너 생성
docker run -d --name container1 --volumes-from datacontainer nginx
docker run -d --name container2 --volumes-from datacontainer alpine
  • 다른 컨테이너와 연결

'Docker > Docker' 카테고리의 다른 글

[Docker] Ubuntu에서 Docker 설치 및 이미지 생성  (4) 2025.07.09
[Docker] Docker Compose  (0) 2025.02.22
[Docker] 컨테이너 스토리지 01  (0) 2025.02.07
[Docker] 컨테이너 리소스 관리  (0) 2025.02.02
[Docker] 컨테이너 명령어  (0) 2025.01.30
'Docker/Docker' 카테고리의 다른 글
  • [Docker] Ubuntu에서 Docker 설치 및 이미지 생성
  • [Docker] Docker Compose
  • [Docker] 컨테이너 스토리지 01
  • [Docker] 컨테이너 리소스 관리
주우운
주우운
CloudOps까지의 과정 기록
  • 주우운
    CloudOps 여행기
    주우운
  • 전체
    오늘
    어제
    • 전체보기 (36)
      • AWS (7)
      • Docker (18)
        • Docker (14)
        • 따배도 (4)
      • Kubernetes (4)
      • IaC (0)
        • Ansible (0)
        • Terraform (0)
      • Linux (3)
      • DB (2)
      • 팁 (2)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.4
주우운
[Docker] 컨테이너 스토리지 02
상단으로

티스토리툴바