本篇博客已配套视频讲解教程, 点击查看 Bilibili 视频教程
数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。
在之前的nginx案例中,修改nginx的html页面时,需要进入nginx内部。并且因为没有编辑器,修改文件也很麻烦。
这就是因为容器与数据(容器内文件)耦合带来的后果。
一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。
这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了
创建volume数据卷
docker volume create badian
显示volume数据卷信息
docker volume inspect badian
显示如下,默认挂载点Mountpoint挂在宿主机/var/lib/docker/volumes/数据卷名称/_data
[
{
"CreatedAt": "2022-09-12T17:20:23+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/badian/_data",
"Name": "bd",
"Options": {},
"Scope": "local"
}
]
删除一个或多个volume数据卷
docker volume rm badian
删除所有未使用的volume数据卷
docker volume prune
查看所有volume数据卷
docker volume ls
创建容器时,可以使用数据卷将容器内文件与宿主机文件关联
容器内的/usr/share/nginx/html -> 数据卷badian -> 宿主机/var/lib/docker/volumes/bd/_data
此时修改宿主机/var/lib/docker/volumes/bd/_data
内文件等于修改容器内的/usr/share/nginx/html
下的文件
docker run \
--name badianbokecom \
-v badian:/usr/share/nginx/html \
-p 8898:80 \
nginx
-v badian:/usr/share/nginx/html 将badian数据卷挂载到容器内的/usr/share/nginx/html