Docker 数据卷是否自动删除
1 匿名挂载数据卷
匿名挂载数据卷是指,只给定容器内部的数据卷名称。不给定宿主机的数据卷名称。
1.1 创建容器
请查看以下命令:
docker run -h node111 --rm -it -v data --name kcm_centos01 centos:7.2.1511
此命令将会在容器内部挂载 /data
目录。而宿主机对应的目录为 xxxxx
数据卷的ID值。
1.2 创建文件
touch /data/kcm_centos01.txt
1.3 容器内部查看数据卷
[root@node111 /]# df -h
//屏幕输出:
Filesystem Size Used Avail Use% Mounted on
overlay 70G 6.5G 64G 10% /
tmpfs 64M 0 64M 0% /dev
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
shm 64M 0 64M 0% /dev/shm
/dev/mapper/rl-root 70G 6.5G 64G 10% /data
tmpfs 3.8G 0 3.8G 0% /proc/acpi
tmpfs 3.8G 0 3.8G 0% /proc/scsi
tmpfs 3.8G 0 3.8G 0% /sys/firmware
1.4 宿主机查看数据卷
1.4.1 查看镜像详细信息
docker inspect kcm_centos01 | grep vol
//屏幕输出:
"Type": "volume",
"Source": "/data/volumes/4a1754542e773782acb23be953be3ad0b08a6a8e430b33b03cc55550af9ea8b6/_data",
1.4.2 查看数据卷
docker volume ls
//屏幕输出:
DRIVER VOLUME NAME
local 56ed3976f67bc70333634777e68f77bd4f59ee2fee17f9dca2a1228e5d8496c6
1.4.3 进入数据卷查看 kcm_centos01 .txt
文件
cd /data/volumes/4a1754542e773782acb23be953be3ad0b08a6a8e430b33b03cc55550af9ea8b6/_data
ls -l kcm_centos01.txt
//屏幕输出:
kcm_centos01.txt
1.4.4 退出容器,观察数据卷自动删除
exit
docker volume ls
Warning
数据卷自动删除。
2 具名挂载数据卷
具名挂载数据卷是指宿主机目录名称已指定。
具名挂载的方式 (-v 宿主机路径:容器内路径)
2.1 创建容器
docker run -h node111 --rm -it -v data01:/data01 --name kcm_centos01 centos:7.2.1511
2.2 创建文件
touch /data/kcm_centos01.txt
2.3 容器内部查看数据卷
df -h
//屏幕输出
Filesystem Size Used Avail Use% Mounted on
overlay 70G 6.5G 64G 10% /
tmpfs 64M 0 64M 0% /dev
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
shm 64M 0 64M 0% /dev/shm
/dev/mapper/rl-root 70G 6.5G 64G 10% /data
tmpfs 3.8G 0 3.8G 0% /proc/acpi
tmpfs 3.8G 0 3.8G 0% /proc/scsi
tmpfs 3.8G 0 3.8G 0% /sys/firmware
2.4 宿主机查看数据卷
2.4.1 查看镜像详细信息
docker inspect kcm_centos01 -f {{" .Mounts"}}
"Source": "/data01",
2.4.2 查看数据卷
2.4.3 进入数据卷查看 kcm_centos01 .txt
文件
2.4.4 退出容器,观察数据卷自动保留
exit
docker volume ls
Warning
数据卷自动保留。
/data/overlay2/36701df4f765db670a1ad8e443fa5d74f7a1c4809b447b4cc37375521704c4ce/merged
如何删除数据卷请参见:Docker 删除数据卷