docker volume

使用 volume 時,docker 會在你的本機上隨機新增一個本地資料夾(Local storage area),大部分會在/var/lib/docker/volumes/底下,然後讓這個資料夾跟 container 裡面的某個資料夾互通

因為他們是互通的,所以當你 container 裡面那個資料夾有任何變更時,本地的資料夾也會跟著變,而且很重要的一點是:container 被刪掉時那個資料夾資料仍被保留,我們就可以利用這個特性保留容器裡面的資料。

替容器裡面的/data目錄建立相通的永久volume

docker run -it -v /data --name=container1 busybox sh
exit

docker volume ls
DRIVER              VOLUME NAME
local               2b44e16bfe8a7417e6ef183e9b9824936a490bff0c4122568437a449f85d52a1
local               283861498c6d94b05dfed40237066e05e955f916ae94e6ac8c5a9070d8dcc058
docker start container1
docker inspect container1

讓 Container 和 Container 之間的資料共享

啟動第二個 Container 指令如下

新增一個named volume

再次啟動容器

docker run --name testvolume -v data:/tmp -itd busybox sh

新增一個 HOST volume

docker volume create data 使用的 volume 稱作 named volume,而現在要介紹另外一種叫做 host volume,用來直接指定某個資料夾跟容器內的資料夾連通

Last updated

Was this helpful?