데브코스 TIL/Docker

Docker Volume

예니ㅣ 2023. 12. 21. 15:48

강의

Docker Volume

"Docker Volume"은 특정 소프트웨어가 Docker Container를 통해 지속적으로 동작해야하는 경우 데이터를 영구적으로 보관하는 기능 입니다.

Docker Container 내의 가상 파일 시스템과 호스트 시스템의 파일 시스템을 맵핑 혹은 마운팅하여 기록을 남길 수 있습니다.

 

"마운트"는 물리적인 장치를 파일 시스템의 특정 위치 혹은 폴더에 연결해주는 것을 말합니다.

 

Docker Volume 타입

  • Host Volume
    • docker run -v host_file_system_path:container_file_system_path
  • Anonymous Volume
    • docker run -v container_file_system_path
    • Dockerfile에서 사용
    • 호스트 액세스 불가능하지만 재시작해도 유지
  • Named Volume
    • docker run -v name:container_file_system_path
    • docker-compose에서 사용
    • 하나의 Volume 다수의 컨테이너에서 공유 가능
  • Readonly Volume
    • docker run -v name:container_file_system_path:ro

 

Docker Volume 사용법

  • Dockerfile : VOLUME 명령 이용 → Anonymous Volume만 지정 가능
  • docker-compose : Host Volume 혹은 Named Volume 지정

 

 


실습

Docker Volume

nginx을 실행해봅니다.

 

기본 형태 구현

docker run -d --name=nginx -p 8081:80 nginx

# 브라우저 방문 : http://localhost:8081/

docker exec --user=root
	apt update
    apt install nano
    nano /user/share/nginx/html/index.html
    exit

docker restart nginx

 

마운트 구현

ls -tl /User/jobox/Downloads/grepp/kdt/nginx/html
# index.html, test.html
    
docker run -p 8081:80 -d --name nginx_demo -v /User/jobox/Downloads/grepp/kdt/nginx/html:/user/share/nginx/html nginx

# 브라우저 방문 : http://localhost:8081/

# index.html 수정

docker restart nginx

 

'데브코스 TIL > Docker' 카테고리의 다른 글

Docker Compose  (0) 2023.12.21
Docker Network  (0) 2023.12.21
Docker 명령  (0) 2023.12.21
Docker: Web Service 실행  (1) 2023.12.20
Docker 기초 실습  (0) 2023.12.20