Docker - 数据卷挂载与目录挂载的区别

前言

简单记录一下在Docker中,数据卷挂载与目录挂载二者的含义与区别。

一、数据卷挂载

1.什么是数据卷?

数据卷是一个虚拟目录,它将宿主机目录映射到容器内目录,方便我们操作容器内文件,或者方便迁移容器产生的数据。

2.什么是数据卷挂载?

数据卷挂载是将主机上的一个目录或文件作为数据卷挂载到容器中,这个数据卷可以被多个容器共享,容器之间可以通过这个数据卷进行数据交换。数据卷挂载的好处是可以将数据从容器中分离出来,方便备份和迁移,同时也可以避免容器被删除时数据的丢失。

3.如何挂载数据卷?

(1)在创建容器时,利用【-v 数据卷名:容器内目录】完成挂载;

(2)容器创建时,如果发现挂载的数据卷不存在时,会自动创建;

4.数据卷的常见命令有哪些?

(1)docker volume ls # 查看数据卷

(2)docker volume rm # 删除数据卷

(3)docker volume inspect # 查看数据卷详情

(4)docker volume prune # 删除未使用的数据卷

5.如何查看某个容器挂载了哪些数据卷?

(1)docker inspect 容器名

(2)查看返回数据对象中的Mounts键对应的值

二、目录挂载

1.什么是目录挂载?

目录挂载是将主机上的一个目录直接挂载到容器中,容器中的文件会直接覆盖主机上的文件,这种方式不适合多个容器共享数据。目录挂载的好处是可以方便地将主机上的文件或目录与容器中的文件或目录进行同步,方便开发和调试。

2.如何进行目录挂载?

(1)在创建容器时,利用【-v 本地目录:容器内目录】完成挂载;

三、二者区别

数据卷挂载适合多个容器共享数据,而目录挂载适合单个容器与主机之间进行数据交换。

四、提示

(1)注意二者写法上的区别,例如在实例化MySQL容器时挂载写法

javascript 复制代码
-v mysql:/val/lib/mysql 会识别为一个数据卷叫mysql
-v ./mysql:/val/lib/mysql 会识别为当前目录下的mysql目录

(2)当实例化容器时,应查阅官方镜像文档,是否需要配置目录映射

文档地址:Docker Docs

相关推荐
想进部的张同学27 分钟前
RK3588 + Docker + GStreamer 实现 RTSP 推流(MJPEG AVI → H.264),VLC 成功拉流
docker·音视频·h.264
独断万古他化27 分钟前
Docker 入门前置:容器虚拟化基础之Namespace 空间隔离
linux·docker·容器
AC赳赳老秦43 分钟前
Docker+DeepSeek:生成镜像优化Dockerfile与容器健康检查脚本
android·运维·人工智能·机器学习·docker·容器·deepseek
fcm1943 分钟前
导出已有的docker容器
docker·容器·eureka
等什么君!1 小时前
Docker中常用的镜像命令和容器命令
运维·docker·容器
CodeCaptain1 小时前
dify需要使用rerank模型,docker安装xinference的解决方案
经验分享·docker·ai·容器
shandianchengzi10 小时前
【记录】Tailscale|部署 Tailscale 到 linux 主机或 Docker 上
linux·运维·docker·tailscale
肉肉心很软12 小时前
使用onlyoffice实现文件预览编辑 + Docker一键部署流程
运维·docker·容器
-大头.12 小时前
Docker实战:构建高性能MySQL主从复制集群(读写分离)
mysql·docker·容器
LuiChun12 小时前
Docker Compose 容器服务查询与文件查看操作指南(Windows Docker Desktop 版)【一】
linux·运维·windows·docker·容器