本文介绍: 卷 就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性。卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。将docker容器内的数据保存进宿主机的磁盘中。docker 将应用与运行的环境打包成镜像,run后形成容器实例运行 ,但是我们对数据的要求希望是持久化的。
1.什么是容器数据库卷
- 卷 就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性。
卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。
将docker容器内的数据保存进宿主机的磁盘中。docker 将应用与运行的环境打包成镜像,run后形成容器实例运行 ,但是我们对数据的要求希望是持久化的。
Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。为了能保存数据,在docker中我们使用卷。
2.数据的覆盖问题
如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中。
- 如果挂载一个非空的数据卷到容器中的一个目录中,那么容器中的目录中会显示数据
- 卷中的数据。如果原来容器中的目录中有数据,那么这些原始数据会被隐藏掉。
3.为什么要用数据卷
4.Docker提供了两种卷:
5.两种卷的区别
6.bind mount
- bind mount 是将主机上的目录或文件mount到容器里。 使用直观高效,易于理解。 使用 –v 选项指定路径,格式 [host path]:[container path]
- bind mount必须指定host文件系统路径,限制了移植性。
docker run --rm -it -v [本地路径]:[Docker内路径] [images]
7.Docker managed volume
- docker managed volume不需要指定mount源,docker自动为容器创建数据卷目录。
- 默认创建的数据卷目录都在/var/lib/docker/volumes中。
- 如果挂载时指向容器内已有的目录,原有数据会被复制到volume中。
- 只能支持目录的挂载,不能支持文件的挂载
docker run --rm -it -v [卷名称]:[Docker内路径] [images]
volume 语法
docker volume [COMMAND]
volume 操作参数
参数 | 说明 |
---|---|
create | 创建卷 |
inspect | 查看卷信息 |
ls | 卷列表 |
prune | 删除没用的卷 |
rm | 删除一个或多个卷 |
原文地址:https://blog.csdn.net/sinat_36528886/article/details/134618792
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_5037.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。