容器持久化技术,就是把容器内的数据写下来。传统的系统上要保存数据很简单,写硬盘就好,但容器最初是用于无状态服务的,并且由于原理限制不能访问硬盘,因此需要保存数据就要另辟蹊径,所以有了容器持久化技术,持久化说白了就是把数据保存下来。
趋势上,随着有状态容器的使用率变高,持久化就会会变成一项必须的内容。
这个技术本身谈不上优势,只能说是一种需要。
至于风险,从设计原理上应该是几乎没有风险的,但程序的事情没人敢保证100%,因此增加的一个和硬件沟通的间接渠道相当于打开了一扇门,是不是有什么潜在的Bug就不好说了
容器持久化数据卷:在容器中运行的应用,应用真正需要保存的数据,可以写入持久化的Volume数据卷。在这个方案中,持久层产生价值,不是通过弹性,而是通过灵活可编程,例如通过设计的API来扩展存储。这个方案结合了持久层和或纯云原生设计模式。
Docker发布了容器卷插件规范,允许第三方厂商的数据卷在Docker引擎中提供数据服务。这种机制意味着外置存储可以超过容器的生命周期而独立存在。而且各种存储设备只要满足接口API标准,就可接入Docker容器的运行平台中。现有的各种存储可以通过简单的驱动程序封装,从而实现和Docker容器的对接。可以说,驱动程序实现了和容器引擎的北向接口,底层则调用后端存储的功能完成数据存取等任务。目前已经实现的Docker Volume Plugin中,后端存储包括常见的NFS,GlusterFS和块设备等。