볼륨(Volume) 활용
Docker를 활용하면 특정 프로그램을 Container로 띄울 수 있다. 이 프로그램에 기능이 추가되면 새로운 Image를 만들어서 Container에 실행시켜야 한다. 이 때, Docker는 기존 Container에서 변경된 부분을 수정하지 않고, 새로운 Container를 만들어서 통째로 갈아끼우는 방식으로 교체한다. 기존에 만들어진 Image에 들어가서 변경된 부분을 억지로 수정하는 것보다, 이 방식이 효율적이라고 생각했던 것이다.
이러한 특징 때문에 기존 Container를 새로운 Container로 교체하면, 기존 Container 내부에 있던 데이터도 같이 삭제된다. 예를 들어, 만약 이 Container가 MySQL을 실행시키는 Container였다면, MySQL DB에 저장된 데이터도 같이 삭제되어버린다.
따라서 Container 내부에 저장된 데이터가 삭제되면 안되는 경우에는 볼륨(Volume)이라는 개념을 활용해야 한다 !
Docker Volume(도커 볼륨)이란?
Docker의 볼륨(Volume)이란 Docker Container에서 데이터를 영속적으로 저장하기 위한 방법이다. 즉, Container를 삭제할 때 데이터를 보존하기 위한 방법이다. Volume은 Container 자체의 저장 공간을 사용하지 않고, Host 자체의 저장 공간을 공유해서 사용하는 형태이다.
볼륨(Volume)을 사용하는 명령어
$ docker run -v [Host 디렉토리 절대경로]:[Container 디렉토리 절대경로] [Image명]:[태그명]
- [Host 디렉토리 절대경로]에 디렉토리가 이미 존재할 경우, Host의 디렉토리가 Container의 디렉토리를 덮어씌운다.
- [Host 디렉토리 절대경로]에 디렉토리가 존재하지 않을 경우, Host의 디렉토리 절대 경로에 디렉토리를 새로 만들고 Container의 디렉토리에 있는 파일들을 Host의 디렉토리로 복사해온다.
참고하면 좋은 사이트
1. https://mycodings.fly.dev/blog/2024-04-06-docker-volume-usage-and-principles#볼륨volume은-어디에-저장되나요
Docker 강좌 4편. Docker 볼륨 (Volume) 사용 방법과 원리
Docker 볼륨 (Volume) 사용 방법과 원리
mycodings.fly.dev
출처
1. 내용
https://youtu.be/CCVJtbgsg0Q?si=7VMtLgrWcoMoD0FS
2. 이미지 1 (영상 2:22)
https://youtu.be/CCVJtbgsg0Q?si=-MF3VwthQNjzCfHj
3. 이미지 2 (영상 3:35)
https://youtu.be/CCVJtbgsg0Q?si=-MF3VwthQNjzCfHj
4. 이미지 3 (영상 3:50)
'Stack > Docker' 카테고리의 다른 글
바인드 마운트(Bind Mount) vs 볼륨 마운트(Volume Mount) (0) | 2025.04.03 |
---|---|
웹서버(Web Server)란? (1) | 2025.04.02 |
도커(Docker)를 사용하는 이유 (0) | 2025.03.31 |
도커(Docker), 컨테이너(Container), 이미지(Image) (0) | 2025.03.30 |
도커 Docker (1) | 2024.12.14 |