서버 & 웹 개발 노트/Docker

[ Docker ] Docker Volume (도커 볼륨)

L.Joey 2024. 9. 1. 21:12

도커의 동작방식

- 이미지를 다운로드하여 컨테이너를 실행하는 방식

- 기존에 실행 중인 컨테이너에 업데이트 사항이 있으면, 필요한 이미지를 생성하여 새로운 컨테이너를 실행한다.

( 즉, 컨테이너의 파일 시스템이 초기화된다. 기존의 컨테이너를 수정하지 않음)

 

→ 업데이트를 할시 MySQL과 같은 데이터베이스에 저장된 데이터가 있으면 손실되는 문제가 발생

 

Volume 이라는 방식을 도입

도커에서 볼륨이란 :

  • 도커 컨테이너에서 데이터를 영속적으로 저장하기 위한 방법
  • 컨테이너 자체의 저장 공간을 사용하지 않고, 호스트 자체의 저장 공간을 공유해서 사용하는 형태

명령어

$ docker run -v [호스트의 디렉토리 절대경로]:[컨테이너의 디렉토리 절대경로] [이미지명]:[태그명]

 

명령어 작동 방식

  • [호스트의 디렉토리 절대 경로] 에
    • 디렉토리가 이미 존재할 경우 : 
      • 호스트의 디렉터리가 컨테이너의 디렉터리를 덮어씌운다.
    • 디렉토리가 없는 경우:
      • 호스트의 디렉터리 절대 경로에 디렉터리를 새로 만든다
      • 컨테이너의 디렉터리에 있는 파일들을 호스트의 디렉터리로 복사해온다.

[출처]

[인프런] 비전공자도 이해할 수 있는 Docker 입문/실전