“程”风破浪的开发者|我的 Docker 学习小妙招
前言
本文是 Docker 容器的数据卷使用的简单教程,介绍了什么是数据卷、数据卷概念、以及如何使用数据卷等。
部分水印照片是我自己博客的水印。
1、数据卷概念
数据卷简单来讲就是一个目录,它是由 Docker daemon 挂载到容器中的,因此数据卷并不属于联合文件系统,也就是说数据卷里面的内容不会因为容器的删除而丢失。Docker 启动后,容器内的文件和宿主机是隔离的,如果不使用 docker commit 操作提交容器为镜像把数据保存下来,数据就会因为容器的删除而丢失。
数据卷是宿主机中的一个目录或文件
当容器目录和数据卷目录绑定后,对方的修改会立即同步
一个数据卷可以被多个容器同时挂载
一个容器也可以被挂载多个数据卷
2、数据卷作用
docker默认容器关闭后数据就没了,如果不通过 docker commit 生成新的进行数据就会丢失。数据卷的作用就是将 docker 容器运行产生的数据持久化。
容器数据持久化
外部机器和容器间接通信
容器之间数据交换
3、配置数据卷
创建启动容器时,使用 –v 参数 设置数据卷
容器的目录 data_container
本机的目录 data
1)此时在宿主机(本机)data 目录下创建文件
!](https://img-blog.csdnimg.cn/db5f709d77d249fea191f0bf2f0135ac.png)
2)在容器查看 data_container,发现同步过来了。
![]](https://img-blog.csdnimg.cn/0d5b273b960b43a4bb554e0aa16fdc5b.png)
注意事项:
目录必须是绝对路径
如果目录不存在,会自动创建
可以挂载多个数据卷
4、多容器进行数据交换
多个容器挂载同一个数据卷
数据卷容器
5、数据卷容器
1)创建启动 c3 数据卷容器,使用 –v 参数 设置数据卷
2)创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷
6、数据卷小结
1)数据卷概念
宿主机的一个目录或文件
2)数据卷作用
容器数据持久化
客户端和容器数据交换
容器间数据交换
3)数据卷容器
创建一个容器,挂载一个目录,让其他容器继承自该容器( --volume-from )
通过简单方式实现数据卷配置
总结
数据卷可以在容器之间共享和重用;对数据卷的修改会立马生效;对数据卷的更新,不会影响到镜像;数据卷默认会一直存在,即使容器被删除。数据卷简单来讲就是一个目录,它是由 Docker daemon 挂载到容器中的,因此数据卷并不属于联合文件系统。最后,送上一句自己喜欢的话:“没有风浪,便没有勇敢的弄潮儿;没有荆棘,也没有不屈的开拓者。”。
版权声明: 本文为 InfoQ 作者【斯】的原创文章。
原文链接:【http://xie.infoq.cn/article/17e8d04a79109d2a8876de912】。文章转载请联系作者。
评论