[Docker] 도커 볼륨

공혁준·2022년 5월 3일
0

Docker

목록 보기
3/9
post-thumbnail

📌 도커 볼륨에 대해 다룹니다.

도커 볼륨

도커 이미지로 컨테이너를 생성하면 이미지는 읽기 전용이 되어 컨테이너의 변경사항은 컨테이너가 갖고 있는다.

👉 컨테이너를 삭제하면 컨테이너 계층에 저장돼있던 모든 정보가 삭제된다.

이를 방지하기 위한 방법 중 하나가 도커 볼륨이다.

호스트 볼륨 공유

docker run -d \
--name db_hostvolume \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=testdb \
-v /home/db_hostvolume:/var/lib/mysql \
mysql:5.7

-v /home/db_hostvolume:/var/lib/mysql 옵션의 의미는 호스트의 /home/db_hostvolume 디렉터리와 컨테이너의 /var/lib/mysql 디렉터리를 공유한다는 뜻이다.

즉 [호스트의 공유 디렉터리]:[컨테이너의 공유 디렉터리] 형태이다.

볼륨 컨테이너

docker run -i -t \
--name current_container \
--volumes-from from_container \
ubuntu:14.04

--volumes-from from_container 옵션의 의미는 from_container 컨테이너에서 볼륨을 공유받는다는 뜻이다.

여러 개의 컨테이너가 동일한 컨테이너에서 --volumes-from 옵션을 사용하여 볼륨을 공유해 사용할 수도 있다.

도커 볼륨

docker volume create --name my_volume

docker volume create 명령어로 도커 자체에서 제공하는 볼륨 기능을 활용해 볼륨을 생성할 수 있다.

docker volume ls

위 명령어로 생성된 볼륨을 확인한다.

docker run -i -t --name test_volume \
-v my_volume:/root/ \
ubuntu:14.04

다음과 같이 -v 옵션을 사용하면 my_volume 볼륨을 컨테이너의 /root/ 디렉터리에 마운트한다.

docker inspect --type volume my_volume

docker inspect 명령어를 사용하여 my_volume 볼륨이 실제로 어디에 저장되는지 알 수 있다.

docker volume prune

도커 볼륨을 생성하고 삭제하다 보면 불필요한 볼륨들이 남아있게 되는데 위 명령어를 사용하면 사용되지 않는 볼륨을 한꺼번에 삭제할 수 있다.

profile
몰입을 즐기는 개발자입니다.

0개의 댓글