docker容器数据卷
2026/7/13 1:44:16 网站建设 项目流程

作用

  • 将宿主机的文件与容器关联,持久化文件到宿主机中,避免容器销毁时,文件被一起删除
  • 关联的文件实际存储在宿主机中,容器类似挂载了文件句柄,可以直接访问宿主机的这些文件

数据卷分两种:

  • 宿主机自身管理
  • docker管理

宿主机自身管理:

  • 创建并启动容器时,使用 -v 指定具体的宿主机路径和容器路径
  • 目录不存在会自动创建(宿主机和容器),挂载文件需要提前在宿主机创建
  • 这种挂载方式,以宿主机中文件为准,不会将镜像层中的文件(即容器中已有的文件)同步到宿主机,原镜像层中的文件不会生效(不可见),容器直接使用宿主机文件

docker run -d --name nginx-v /data/volume/nginx:/etc/nginxnginx

可以先创建一个容器,把容器中的相关文件复制到宿主机中,在重新创建启动容器并挂载

docker管理:

  • 不指定宿主机路径,由docker自行决定挂载目录,一般挂载在docker的工作目录中
  • 分为匿名挂载和具名挂载
  • 匿名挂载即不指定数据卷名称,自动生成
  • 具名挂载即手动指定数据卷名称
  • 这种挂载方式,会将原镜像层中的文件同步到宿主机

匿名挂载:docker run -d --rm --name anony -P-v /etc/nginxnginx:latest

具名挂载:docker run -d --rm --name unanony -P-v nginx:/etc/nginxnginx:latest

可以通过 docker volume ls 查看数据卷

查看相应数据卷详细信息:docker volume inspect volume_name

查看挂载点目录,能够看到相应的文件(容器中的文件被同步到宿主机)


扩展:docker创建启动容器时,使用--volumes-from可以继承其它容器的数据卷挂载

#创建容器ng02,并继承容器ng01的挂载
docker run -d --rm --name ng02 -P--volumes-fromng01 nginx

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询