前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【第二部:容器和微服务架构】(3)Docker应用程序中的状态和数据

【第二部:容器和微服务架构】(3)Docker应用程序中的状态和数据

作者头像
首席架构师智库
发布2020-07-18 18:15:59
7040
发布2020-07-18 18:15:59
举报
文章被收录于专栏:超级架构师超级架构师

在大多数情况下,可以将容器视为流程的实例。进程不保持持久状态。虽然容器可以写入其本地存储,但假设实例无限期地存在,就像假设内存中的单个位置是持久的一样。您应该假设容器映像(如进程)具有多个实例,或者最终将被终止。如果它们是由容器编排器管理的,则应该假设它们可能会从一个节点或VM移动到另一个节点或VM。

以下解决方案用于管理Docker应用程序中的数据:

从Docker主机,作为Docker卷:

  • 卷存储在Docker管理的主机文件系统的一个区域中。
  • 绑定挂载可以映射到主机文件系统中的任何文件夹,因此无法从Docker进程控制访问,并且由于容器可以访问敏感的OS文件夹,因此可能会带来安全风险。
  • tmpfs挂载就像虚拟文件夹,只存在于主机的内存中,从不写入文件系统。

从远程存储:

  • Azure存储提供了地理分布存储,为容器提供了一个良好的长期持久性解决方案。
  • 远程关系数据库,如Azure SQL数据库或NoSQL数据库,如Azure Cosmos DB,或缓存服务,如Redis。

从Docker容器:

  • 覆盖文件系统。此Docker功能实现了一个写时拷贝任务,该任务将更新的信息存储到容器的根文件系统中。该信息位于容器所基于的原始图像的“顶部”。如果容器从系统中删除,则这些更改将丢失。因此,虽然可以将容器的状态保存在其本地存储中,但围绕此设计系统将与容器设计的前提冲突,容器设计的前提默认为无状态。

不过,使用Docker卷现在是处理Docker中本地数据的首选方法。如果您需要更多关于容器中存储的信息,请查看Docker存储驱动程序和存储驱动程序。

以下提供了有关这些选项的详细信息:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 首席架构师智库 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档