Steady Mind For My Life

https://github.com/jongseok3910/Spring-Study

Docker

볼륨(volume)

함탕 2024. 5. 24. 18:12
728x90
728x90

예를 들어 도커에 Oracle이미지를 다운로드하여 설치했다.

1. sudo docker run Oracle

 

그러면 Oracle 컨테이너가 생성된다.

생성된 컨테이너에 데이터를 저장하다가

Oracle 컨테이너를 삭제해버리면??

데이터들도 모두 삭제된다.

 

컨테이너는 삭제되어도 데이터는 유지하고 싶을 경우 사용하는 것이 볼륨(Volume)이다.

볼륨은 컨테이너 내부의 데이터를 외부로 링크를 걸어주는 기능이다.

볼륨을 걸어준 데이터의 경우 컨테이너 내부에서 수정되는 즉시 볼륨이 걸려있는 외부 데이터도 같이 수정된다.

그리고 그 데이터는 컨테이너가 삭제되어도 외부에 남게 된다.

 

볼륨 생성

1. -v 명령어를 사용하여 컨테이너 생성과 동시에 볼륨을 만들었다.

 

명령어 설명

/var/log 이하경로의 변경사항들에 대해 기록을 하며

변경사항들은 testvol-2 이름의 볼륨을 생성하고 기록을 시작한다.

ubuntu:14.04 이미지를 사용하여 ubcon이라는 이름의 컨테이너를 생성하고

백그라운드 실행을 한다.

(ubcon의 /var/log 이하 영역에 변화가 생기면 볼륨에 자동 기록 된다는 뜻)

 

2. ubcon 컨테이너의 세부내역 확인

inspect 명령어를 통해 ubcon 컨테이너를 살펴보면

Mounts부분에서 볼륨설정을 볼 수 있다.

 

Name은 testvol-2

Source는 /var/lib/docker/volumes/testvol-2/_data에 기록되고 있다.

(*볼륨데이터는 기본적으로 /var/lib/docker/volumes 디렉터리에 저장된다.)

Destination은 /var/log경로(1번에서 설정한 경로)

 

만약 oracle 이미지를 사용해서 oracon이라는 컨테이너를 만들며 test3 이름의

볼륨을 생성했다고 가정하자.

 

oracon 컨테이너를 완전 삭제해도 데이터들은 test3 볼륨에 기록되어 있다.

 

위와 같이 도커 볼륨기능을 활용하면 데이터를 안전하게 관리할 수 있다.

 

728x90
300x250

'Docker' 카테고리의 다른 글

도커 컴포즈  (0) 2024.06.15
도커 - DockerFile을 이용한 이미지 생성 및 이미지 배포(commit, push)  (0) 2024.06.08
도커 컨테이너 정리  (0) 2024.05.26
도커 명령어 정리  (0) 2024.05.24
도커 정리  (0) 2024.05.22