六、《云原生》docker容器数据持久化

容器中的数据可以存储在容器层。但是将数据存放在容器层存在以下问题:

数据不是持久化。意思是如果容器删除了,这些数据也就没了

主机上的其它进程不方便访问这些数据

对这些数据的I/O会经过存储驱动,然后到达主机,引入了一层间接层,因此性能会有所下降

Docker 提供了3种持久化数据的方式:

volumes:存于主机文件系统中的某个区域,由Docker管理(/var/lib/docker/volumes/ on linux)。非Docker进程不应该修改这些数据。卷是Docker中持久化数据的最好方式

bind mount:存于主机文件系统中的任意位置。非Docker进程可以修改这些数据

tmpfs mount(Linux中):存于内存中(注意,并不是持久化到磁盘)。在容器的生命周期中,它能被容器用来存放非持久化的状态或敏感信息。
在这里插入图片描述
查看物理机下自动生成的/datavolume目录
在这里插入图片描述
在物理机创建aa目录
在这里插入图片描述
将会自动同步到容器的/data/目录下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进入data/目录下创建文件会提示只读权限
六、《云原生》docker容器数据持久化_第1张图片
进入/root/datavolume1/目录下
在这里插入图片描述
宿主机创建aa目录
在这里插入图片描述
容器内将会自动同步
在这里插入图片描述
2.使用dockerfile构建包含数据卷的镜像
![在这里插入图片描述](https://img-blog.csdnimg.cn/38bae1dcf9c14301af555378ed28a93b.png

在这里插入图片描述
六、《云原生》docker容器数据持久化_第2张图片
六、《云原生》docker容器数据持久化_第3张图片
数据卷容器
数据卷容器功能是可以让数据在多个docker容器之间共享,即可以让B容器访问A容器的内容,而容器C也可以访问A容器的内容,即先要创建一个后台运行的容器作为server,用于卷提供,这个卷可以为其他容器提供数据存储服务,其他使用此卷的容器作为client端。

日志输出使用
静态文件使用
配置文件使用
多个容器间目录或文件共享
基于volume镜像重新创建一个容器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建lucky.txt 文件
六、《云原生》docker容器数据持久化_第4张图片

你可能感兴趣的:(《云原生,docker篇》,docker,容器,linux)