[Docker] Volume

2024. 12. 31. 10:46·DevOps/Docker

Volume

도커 컨테이너에서 데이터를 저장하고 관리하는 데 사용되는 지속적인 저장소

  • Volume이 필요한 이유? 컨테이너는 기본적으로 휘발성이기 때문에, 컨테이너가 종료되거나 삭제되면 내부의 파일 시스템 데이터도 사라짐, 볼륨은 컨테이너의 데이터를 영구적으로 유지하거나 컨테이너 간에 공유할 수 있도록 함

Volume의 종류

bind mount: 호스트 파일 시스템을 사용

  • 호스트 파일 시스템의 특정 디렉터리를 컨테이너의 특정 디렉터리와 마운트

docker volume: 도커가 관리하는 볼륨

  • 볼륨은 호스트 디렉터리의 /var/lib/docker/volumes/에 저장됨
  • 볼륨과 컨테이너의 특정 디렉터리를 마운트하여 사용

tmpfs mount: 볼륨을 메모리에 저장하는 방식

  • 컨테이너 종료 시 저장된 데이터가 사라짐

Bind mount

webroot 디렉터리 만들고, html 파일 생성하기

$ mkdir webroot
$ echo "my website" > ./webroot/index.html

 

컨테이너 실행 시 -v 옵션을 통해 bind mount하기

  • -v <호스트 머신의 디렉토리> <컨테이너 내부의 매핑할 디렉터리>
$ docker run -v ./webroot:/usr/share/nginx/html -p 8080:80 -d nginx

 

localhost:8080 접속 결과

 

호스트의 디렉터리에 새로운 html 파일을 생성하면, 컨테이너에도 동일하게 적용됨

$ echo "change my website" > ./webroot/index.html

 

Volume mount

볼륨 생성하고, 생성된 볼륨 확인

$ docker volume create myswebsite-root
$ docker volume ls

 

컨테이너 실행 시 -v 옵션을 통해 volume mount하기

  • -v <볼륨 이름> <컨테이너 내부의 매핑할 디렉터리>
$ docker run -v myswebsite-root:/usr/share/nginx/html -p 8080:80 -d nginx

 

실제로 볼륨이 호스트 머신의 어디에 저장되는지 확인

  • Mountpoint: 볼륨이 저장되는 호스트 경로
$ docker volume inspect myswebsite-root

 

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

[Docker] Multi-stage build  (0) 2024.12.31
[Docker] docker compose  (0) 2024.12.31
[Docker] Dockefile  (0) 2024.12.31
[Docker] 이미지  (0) 2024.12.31
[Docker] Docker 설치 및 기본 명령어  (0) 2024.12.31
'DevOps/Docker' 카테고리의 다른 글
  • [Docker] Multi-stage build
  • [Docker] docker compose
  • [Docker] Dockefile
  • [Docker] 이미지
Doodo
Doodo
  • Doodo
    Doodo
    Doodo
  • 전체
    오늘
    어제
    • 분류 전체보기 (192)
      • CS (17)
        • Network (11)
        • Database (6)
      • Language (19)
        • Python (11)
        • SQL (6)
        • R (2)
      • Linux (17)
      • DevOps (35)
        • Git (7)
        • Docker (8)
        • Kubernetes (9)
        • GCP (4)
        • AWS (7)
      • Data Engineering (50)
        • 책 리뷰 (14)
        • Airflow (35)
        • Redis (1)
      • DBMS (21)
        • CUBRID (21)
      • ML & DL (2)
      • 코딩테스트 (24)
      • 프로젝트 (7)
        • 서울시 대기현황 데이터 적재 프로젝트 (4)
        • CryptoStream (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Doodo
[Docker] Volume
상단으로

티스토리툴바