【小菜鸟之---Docker基础-数据卷】

【数据卷概念】

1、引言

	Docker的镜像是由多个只读的文件系统叠加在一起形成的。当我们在我启动一个容器的时候,docker会加载这些只读层并在这些只读层的上面(栈顶)增加一个读写层。这时如果修改正在运行的容器中已有的文件,那么这个文件将会从只读层复制到读写层。该文件的只读版本还在,只是被上面读写层的该文件的副本隐藏。当删除docker,或者重新启动时,之前的更改将会消失。在Docker中,只读层及在顶部的读写层的组合被称为Union File System(联合文件系统)。

	为了很好的实现数据保存和数据共享,Docker提出了Volume这个概念,简单的说就是绕过默认的联合文件系统,而以正常的文件或者目录的形式存在于宿主机上。又被称作数据卷。

2、什么是数据卷

	数据卷是一个目录,他帮助宿主机目录映射到容器内目录,方便我们操作容器内的文件,或者方便迁移容器内的数据。
	
	数据卷是一个可供一个或多个容器使用的特殊目录,它绕过UFS,可以提供很多有用的特性: - 数据卷可以在容器之间共享和重用 - 对数据卷的修改会立马生效 - 对数据卷的更新,不会影响镜像 - 数据卷默认会一直存在,即使容器被删除 Docker中提供了两种挂载方式,-v和-mount。

3、为什么使用数据卷?

	Docker的镜像是由一系列的只读层组合而来,当启动一个容器的时候,Docker加载镜像的所有只读层,并在最上层加入一个读写层。这个设计使得Docker可以提高镜像构建、存储和分发的效率,节省了时间和存储空间,然而也存在如下问题。

    容器中的文件在宿主机上存在形式复杂,不能在宿主机上很方便的对容器中的文件进行访问
    多个容器之间的数据无法共享
    当删除容器时,容器产生的数据将丢失
为了解决这些问题,Docker引入了数据卷(volume)机制。volume是存在一个或多个容器中的特定文件或文件夹,这个目录能够独立于联合文件系统的形式在宿主机中存在,并为数据的共享与持久提供一下便利。

    volume在容器创建时就初始化,在容器运行时就可以使用其中的文件
    volume能在不同的容器之间共享和重用
    对volume中的数据的操作会马上生效
    对volume中数据操作不会影响到镜像本身
    volume的生存周期独立于容器的生存周期,即使删除容器,volume仍然会存在,没有任何容器使用的volume也不会被Docker删除

【数据卷简单使用】

#docker volume --help

1.创建数据卷

#实际上不用自己创建,在创建容器时候会自动创建,只需要手动挂载即可
docker volume create mydata

2.查看所有数据卷

docker volume ls

docker volume rm #删除指定数据卷

3.挂载数据卷

docker run -d --name nginx -p 80:80 -v [nginxvolume挂载文件名]:[/usr/share/nginx/html容器目录] nginx:latest

#-v 数据卷名字:容器目录

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.1 匿名挂载

#匿名挂载就是只输入挂载目录,而输入数据卷名,即
docker run -d --name nginx -p 80:80 -v [/usr/share/nginx/html容器目录] nginx:latest

#这时候的数据卷名会是一段字母与数字的组合,一般都需要进行具名挂载,方便我们找到一个卷
 

3.2 指定路径挂载

#路径挂载可以方便我们把挂载目录指定到我任意目录进行挂载,进行更灵活的管理
docker run -d --name nginx -p 80:80 -v  /宿主机目录:[/usr/share/nginx/html容器路径] nginx:latest

4.查看数据卷信息

docker volume inspect nginxvolume
docker volume prune #清除数据卷,删除所有未使用的数据卷

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

/var/lib/docker/volumes/nginx/nginxvolume/_date映射到nginxvolume数据卷,nginxvolume再映射到容器内的/usr/share/nginx/html目录

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 查看是否有数据卷
docker inspect nginx

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只慵懒的猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值