[Docker] Docker Volume

조치연·2026년 8월 6일

Docker

목록 보기
4/6

컨테이너가 가진 문제


도커에서 컨테이너가 단독으로 실행되면 컨테이너 자체가 저장공간, 실행 등 모든 것의 역할을 가지게 된다.

이렇게 하나의 컨테이너에서 모든 것을 관리하면 해당 컨테이너가 삭제되거나 문제가 생겼을 때, 안에 있던 내용들이 삭제된다.

즉, 컨테이너와 저장을 따로 떼어서 볼 방법이 필요해지게 된 것이다.

휘발되도 좋은 데이터는 컨테이너 내에서 관리해도 되겠지만, 서버와 같은 정보는 컨테이너 자체에서 관리하면 휘발될 위험이 생기게 되는 것이다.


Docker Volume


Volume이란, 도커 컨테이너에서 데이터를 영속적으로 저장하기 위한 방법이다.

Volume은 컨테이너 자체의 공간을 사용하지 않고, 호스트 자체의 저장 공간을 공유해서 사용한다.

데이터 저장을 컨테이너와 따로 떼어서 보는 관점이다.

예를들어 Volume을 사용하지 않고 MYSQL을 사용하면,
컨테이너에서 MYSQL 이미지를 실행시키면 컨테이너 자체에서 데이터가 저장된다.

이때, 컨테이너가 삭제되면 DB 저장 데이터도 같이 날아가게 되므로 Volume이란 개념이 필요하다.

이미지를 컨테이너에 다운받고, 실행시킬 때 -v 명령어를 사용하여 호스트 저장소와 서버 저장소 위치를 명명해주면 아래와 같이 저장 공간이 분리된다.

이렇게 구성하면 컨테이너가 삭제되더라도 호스트 컴퓨터에 DB가 남아있고, 컨테이너를 새로 만들 때, -v 명령어를 사용하여 지정해주면 같은 DB로 작동된다.


예시


컨테이너를 실행할 때, Volume을 사용하는 명령어 예시는 다음과 같다.

docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v "호스트주소:/var/lib/mysql" -d mysql

Reference


Docker 입문/실전

profile
세종대학교 지능기전공학과 23

0개의 댓글