标签:drive 容器数据 remove soc 小结 dea containe 开始 erro
如果你有一些需要持续更新的数据并且希望持久化数据,或者需要在不同的容器之间共享数据,再者需要主机与容器之间共享数据,那么你可以使用数据卷来满足这些需求。
数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS
,可以提供很多有用的特性:
数据卷可以在容器之间共享和重用。
对数据卷的修改会立马生效。
数据卷默认会一直存在,即使容器被删除。
数据卷有两种创建方式一是创建容器时创建数据卷,二是先创建好数据卷,在创建容器时挂载这个数据卷,两种方式均可以。
docker volume create demo-data
demo-data
docker run --name demo1 -d -v demo-data:/var/www/html nginx:alpine
docker run --name demo2 -d -v demo-data:/var/www/html nginx:alpine
docker volume ls
DRIVER VOLUME NAME
local demo-data
docker volume inspect demo-data
[
{
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/demo-data/_data",
"Name": "demo-data",
"Options": {},
"Scope": "local"
}
]
docker volume rm demo-data
Error response from daemon: remove demo-data: volume is in use - [#省略..]
注意: 由于有容器正在使用数据卷,提示无法删除数据卷。
hostname > /var/lib/docker/volumes/demo-data/_data/hosts.txt
注意: 这个目录对应创建的 demo-data 数据卷。
docker exec -ti demo1 sh -c ‘hostname >> /var/www/html/hosts.txt‘
docker exec -ti demo2 sh -c ‘hostname >> /var/www/html/hosts.txt‘
cat /var/lib/docker/volumes/demo-data/_data/hosts.txt
node0
87c60cbe6147
a6bc3c00c790
docker stop demo1
docker stop demo2
docker rm demo1
docker rm demo2
数据卷仍然存在
docker volume ls
DRIVER VOLUME NAME
local demo-data
如果需要可以使用 rm 选项删除数据卷
docker volume rm demo-data
数据卷已不存在
docker volume inspect demo-data
[]
Error: No such volume: demo-data
创建容器时挂载数据卷参数
docker run --help | grep ‘\-v,‘
-v, --volume list Bind mount a volume
删除容器时一并删除数据卷参数(慎用)
docker rm --help | grep ‘\-v‘
-v, --volumes Remove the volumes associated with the container
数据卷管理命令
docker volume --help
Usage: docker volume COMMAND
Manage volumes
Commands:
create Create a volume
inspect Display detailed information on one or more volumes
ls List volumes
prune Remove all unused local volumes
rm Remove one or more volumes
最后来总结下文章中的知识点
docker rm -v
这个命令。doker&k8s Qun [703906133]
标签:drive 容器数据 remove soc 小结 dea containe 开始 erro
原文地址:https://blog.51cto.com/14521173/2451910