Docker数据卷【数据卷主要解决什么问题?如何解决的?】及常用操作命令【创建、查看、详细信息、删除】

什么是数据卷(volume)?

数据卷(volume) 是一个虚拟目录,指向宿主机文件系统中的某个目录。

1、数据卷解决了什么问题?

因容器与数据(容器内文件)耦合所引发的问题:

  1. 容器内数据修改困难:修改时需进入容器内操作,操作复杂不方便。
  2. 数据不可复用:容器内的修改对外不可见,也就是说每新建一个容器均需执行一次相关操作。
  3. 升级维护困难:升级容器时会删除旧容器,而数据存储在容器内,也就是说容器升级时数据会跟随旧容器一同被删除。

2、数据卷如何解决上诉问题的

通过数据卷挂载完成 数据(容器内文件)与容器解耦。

数据卷挂载后的效果:

  1. 对容器的一切操作都会作用在数据卷对应的宿主机目录了。
  2. 反过来讲,对数据卷对应的宿主机目录的一切操作也会作用在容器上。

总结: 挂载后,容器与宿主机目录会互相同步,简化了修改容器的操作难度;且数据与容器解绑,实现了数据的本地存储和复用。

如图所示,当我们操作宿主机的/var/lib/docker/volumes/html目录时,等同于操作容器内的/usr/share/nginx/html目录。
在这里插入图片描述

3、数据卷操作命令

基本语法如下:

docker volume [COMMAND]

在这里插入图片描述

  1. docker volume create:创建数据卷
  2. docker volume ls:查看所有数据卷
  3. docker volume inspect:查看数据卷详细信息,包括关联的宿主机目录位置
  4. docker volume rm:删除指定数据卷
  5. docker volume prune:删除所有未使用的数据卷
3.1、 创建数据卷

格式:docker volume create [数据卷名称]

#创建数据卷 html
docker volume create html
#创建数据卷 data
docker volume create data
#创建数据卷 test
docker volume create test

示例:
在这里插入图片描述

3.2、 查看数据卷

查看全部数据卷:

docker volume ls

在这里插入图片描述
根据名称筛选查看某个数据卷:
格式:docker volume ls --filter name=[数据卷名称]

# 查看数据卷html
docker volume ls --filter name=html

在这里插入图片描述

3.3、 查看数据卷详细信息

格式:docker volume inspect [数据卷名称]

#查看数据卷html详细信息
docker volume inspect html

在这里插入图片描述
框中部分为数据卷html关联的宿主机目录(Mountpoint:挂载点):/var/lib/docker/volumes/html/_data。

3.4、 删除指定数据卷

格式:docker volume rm [数据卷名称]

# 删除数据卷test
docker volume rm test

在这里插入图片描述

3.5、 删除所有未使用的数据卷
docker volume prune
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值