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

相关推荐
聆风吟º35 分钟前
无需 VNC / 公网 IP!用 Docker-Webtop+cpolar,在手机浏览器远程操控 Linux
linux·运维·docker
ZLRRLZ1 小时前
【Docker】Docker镜像仓库
docker·容器
知白守黑2674 小时前
docker资源限制
运维·docker·容器
无妄无望8 小时前
docker学习(4)容器的生命周期与资源控制
java·学习·docker
爱宇阳10 小时前
禅道社区版 Docker Compose 服务迁移教程
运维·docker·容器
xzl0410 小时前
docker运行Ubuntu22.04
docker
vue学习11 小时前
docker 学习dockerfile 构建 Nginx 镜像-部署 nginx 静态网
java·学习·docker
热爱生活的五柒12 小时前
vscode如何链接远程服务器里面的docker里面的目录
服务器·vscode·docker
hello_zzw14 小时前
docker部署MySQL主从服务集群
mysql·adb·docker
vue学习14 小时前
docker 运行容器限制内存、限制磁盘 IO
运维·docker·容器