声明:本站文章均为作者个人原创,图片均为实际截图。如有需要请收藏网站,禁止转载,谢谢配合!!!

本篇博客已配套视频讲解教程, 点击查看 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