首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在容器即服务(caas)中保护源代码和数据库结构?

如何在容器即服务(caas)中保护源代码和数据库结构?
EN

Stack Overflow用户
提问于 2019-01-24 06:23:59
回答 1查看 223关注 0票数 0

集装箱即服务(caas)是一种我们周围听到的嗡嗡声。但对于这种模式,我在互联网上并没有发现一些困惑。

实际上,我们为客户提供的服务包括敏感数据(财务文件等)。因此,我们的一些客户不愿与我们共享数据。

所以,他们要求以容器的形式来解决问题,所以,在这种情况下,所有的数据和应用程序都将托管在他们自己的服务器中。我们将无法访问他们的数据。我们会按月收费。

简而言之,我们需要将我们所有的应用程序(源代码和数据库)作为一个黑盒交付到码头容器中。因此,客户端可以通过网络与docker容器交互,但不能进入docker容器来查看我们的源代码和DB结构。

这就是为什么我对感到困惑,我们如何保护我们的源代码和数据库结构。

其次,如何将码头容器的代码与更新的代码同步?

任何对这个问题的帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2019-01-24 12:26:35

我们如何保护我们的源代码

使用一种编译后的语言,而不是简单的反编译(C++,Go)。如果您使用包含容器中的源的解释语言(Javascript、Python、Ruby),那么一旦客户端拥有图像的副本,他们运行它或以其他方式打开它并查看您的源代码就很简单了。

和DB结构

除了保护数据库和应用程序代码之外,没有其他特定的方法可以做到这一点。任何能够连接到数据库的人都可以很容易地查询架构。

如何将Docker容器的代码与更新的代码同步?

向客户端发送一个新图像,并让他们删除现有容器并创建一个新的容器。

这是很重要的,并采取一些预先设计。当您这样做时,容器的本地文件系统中的任何内容都将丢失,这意味着您永远不会在容器的本地文件系统中存储任何您无法轻松重新创建的内容。您已经有了一个数据库,所以计划将大部分实际数据保存在那里。如果生成日志,可以在进程的stdout (因此核心Docker日志系统可以收集日志)上生成日志,或者使用主机绑定挂载目录将它们放在可以轻松查看的位置。

这也是像Kubernetes这样的集群管理器使用的机制。您可以告诉Kubernetes部署控制器,您需要3个映像me/abc:123的副本。如果您随后告诉它您想要3个me/abc:246的副本,它将用新的图像启动新的容器,然后删除旧的容器。

相反,您根本不需要考虑“同步代码”或以其他方式登录到容器中,而且docker ps应该能够立即告诉您客户端正在运行的系统的版本(通过特定的图像标记)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54340497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档