容器如果重启后数据是可以保留的话为什么还需要容器的持久化?

参与15

2同行回答

GaryyGaryy  系统工程师 , 某保险
如何持久化保存容器的数据,这是自Docker诞生之日起就一直存在的问题。在Docker的初始设计中,数据与容器共生共灭,人们很难把容器从一台机器迁移到另一台机器。时至今日,存储的发展和变革给了容器持久化存储以多种多样的解决之道。容器架构使用到三种类型的存储:第一是镜像存储...显示全部

如何持久化保存容器的数据,这是自Docker诞生之日起就一直存在的问题。在Docker的初始设计中,数据与容器共生共灭,人们很难把容器从一台机器迁移到另一台机器。时至今日,存储的发展和变革给了容器持久化存储以多种多样的解决之道。
容器架构使用到三种类型的存储:
第一是镜像存储。这可以利用现有的共享存储进行交付,要求类似于服务器虚拟化环境中虚拟机镜像分发保护的平台架构。容器镜像的一项好处在于其存储容量相较于完整的虚拟机镜像小了许多,因为它们不会复制操作系统代码。此外,容器镜像的运行在设计之初便是固定的,因此可以更高效地存储、共享。但也因此,容器镜像无法存储动态应用程序的数据。
第二类需要存储的数据是容器的管理。当然,可以借助现有存储完成这项工作。不论使用Docker、Kubernetes、Tectonic、Rancher还是其它类型的容器管理,都需要存储配置数据、日志记录等管理数据。
第三类存储,容器应用的存储,是最具挑战的。只有支持真正的微服务式编程时,容器代码可以直接写入镜像目录和文件。但是容器使用一种分层文件系统,将所有新写入的数据存储在临时虚拟层,最底层的容器镜像却未被修改。一旦容器消失——相比虚拟机,容器的设计寿命更短——所有的临时存储都会随之消散。
Docker等容器管理产品提供可插拔的卷管理。例如Flocker是开源Docker可插拔卷中的最受欢迎的替代品,可以通过集群智能管理、迁移数据卷及其容器。大多数传统存储供应商和云存储服务提供商为其存储阵列生成各类容器系统卷插件,就是很好的顺应了时代的发展。

收起
保险 · 2018-02-05
浏览2470
weiliang1216weiliang1216  it技术咨询顾问 , IBM
docker里的数据不做持久化的话数据是不保留的。所有的数据都是临时的,关了或者重启都会让数据丢失显示全部

docker里的数据不做持久化的话数据是不保留的。所有的数据都是临时的,关了或者重启都会让数据丢失

收起
IT咨询服务 · 2018-02-05
浏览2259

提问者

li5227205
系统工程师新云东方
擅长领域: 存储灾备软件定义存储

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-02-05
  • 关注会员:3 人
  • 问题浏览:4966
  • 最近回答:2018-02-05
  • X社区推广