- 5. 도커 볼륨2023년 04월 18일 12시 44분 45초에 업로드 된 글입니다.작성자: 각수짱728x90반응형SMALL
도커 볼륨
컨테이너는 데이터를 메모리에 저장하기에 종료시 데이터가 삭제된다(휘발성)
데잍를 영구적으로 저장해서 컨테이너가 삭제되더라도 데이터가 남아있을 수 있게 호스트와 저장장소를 공유하는 곳이 볼륨컨테이너 레이어
이미지로 컨테이너를 생성하면 이미지는 읽기 전용이 된다.
컨테이너 안에서 활용한 변경정보는 컨테이너 레이어 라는 곳에 기록된다.
예) mysql 의 DB 저장 데이터는 컨테이너 레이어 공간에 저장됨[ 컨테이너 레이어(읽기 쓰기) ]
[ 컨테이너 레이어(읽기 쓰기) ]
[ 이미지 (읽기 전용) ]하지만 컨테이너 레이어의 데이터는 컨테이너 삭제와 함께 삭제되어 복구 불가능
볼륨 활용 방법
컨테이너 데이터를 영구적으로 보관 가능
호스트 볼륨 공유
호스트와 저장장소를 공유
docker run -d \ # -d : 컨테이너를 백그라운드에서 동작하는 어플리케이션으로 실행하도록 합니다.
> --name mycent \ # --name : 컨테이너 이름은 mycentos
> -v [공유할 폴더 지정]:/[컨테이너 디렉토리] \ # -v : 공유할 디렉토리 설정, -v [호스트 디렉토리]:[컨테이너 디렉토리]
> [이미지] # 이미지는 centos:7
ex) docker run -d --name sharevol -e MYSQL_DATABASE=wordpress -e MYSQL_ROOT_PASSWORD=qwer1234 -v /c/share:/var/lib/mysql mysql:5.7
툴박스인 경우 버추얼 박스에 공유 폴더 설정 후
docker run -d --name sharevol -e MYSQL_DATABASE=wordpress -e MYSQL_ROOT_PASSWORD=qwer1234 -v /root/shared:/var/lib/mysql2 mysql:5.7볼륨 컨테이너
-v 옵션으로 볼륨을 사용하는 컨테이너를 다른 컨테이너와 공유
컨테이너 생성시 --volumes-from 옵션을 사용하면 -v 옵션이 적용된 컨테이너의
볼륨 디렉토리를 공유할 수 있다.
docker run -i -t \
--name sharevol2 \ # --name : 컨테이너 이름
--volumes-from sharevol \ # --volumes-from [컨테이너 이름] : -v가 설정된 컨테이너의 볼륨을 같이 공유
centos:7 # 이미지 이름도커가 관리하는 볼륨
docker volume 명령어를 이용하여, 도커 자체에서 제공하는 볼륨 기능을 활용해 데이터를 보존 가능
docker volume create --name myvolume 생성
docker volume ls 확인
docker run -i -t --name myvolume \ # --name : 이름을 지정하는 옵션으로, 컨테이너의 이름은 movolume
> -v myvolume:/root/ \ # -v [볼륨의 이름]:[컨테이너의 공유 디렉토리], 볼륨과 컨테이너의 /root/를 공유
> ubuntu:14.04 # 이미지 이름
컨테이너 내에서 파일 생성
docker run -i -t --name myvolume2 \ # --name : 이름을 지정하는 옵션으로, 컨테이너의 이름은 movolume
> -v myvolume:/root/ \ # -v [볼륨의 이름]:[컨테이너의 공유 디렉토리], 볼륨과 컨테이너의 /root/를 공유
> ubuntu:14.04 # 이미지 이름
파일 확인
*stateless vs stateful
stateless : 컨테이너가 아닌 외부에 데이터를 저장하고 컨테이너는 그 데이터로 동작하도록 설계 방식
stateful : 컨테이너가 데이터를 저장하는 설계방식728x90반응형LIST'docker' 카테고리의 다른 글
도커 실습 - 3계층 이미지 생성 실습 (0) 2023.04.17 4. 도커 컨테이너 개발 (1) 2023.04.17 3. 도커 컨테이너 다루기 (0) 2023.04.17 2. 도커 (0) 2023.04.17 1. 컨테이너란 (0) 2023.04.17 이전글이 없습니다.댓글