기본적으로 docker 컨테이너에서 만들어진 data는 컨테이너가 삭제되면 같이 삭제됨.
-v 옵션을 통해 {호스트 경로}와 {컨테이너 경로}를 이어두면, 컨테이너에서 작업했던 파일들이 {호스트 경로}에 저장되어, 컨테이너를 삭제해도 데이터는 유지할 수 있음.
volume mount (-v)
$docker run -v {호스트 경로}:{컨테이너 경로} {이미지:태그}
-v C:\Users\Desktop\docker_v_test:/home/work
(1) 호스트의 C:\Users\Desktop\docker_v_test 디렉토리와
(2) 컨테이너의 /home/work 디렉토리를 연결(공유)하겠다.
$docker run -v C:\Users\Desktop\docker_v_test:/home/work {이미지:태그}
예시
# 기존
docker run -d -p 1234:1234 \
-e MYSQL_ALLOW_EMPTY_PASSWORD=true \
--network=app-network \
--name mysql \
mariadb:latest
# -v 옵션 추가
docker run -d -p 1234:1234 \
-e MYSQL_ALLOW_EMPTY_PASSWORD=true \
--network=app-network \
--name mysql \
-v /my/own/dir:/var/lib/mysql \
mariadb:latest