首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理Docker容器中的安全更新?

如何处理Docker容器中的安全更新?
EN

Server Fault用户
提问于 2014-07-08 21:54:39
回答 4查看 44.8K关注 0票数 140

在将应用程序部署到服务器上时,通常会将应用程序本身捆绑的内容与它希望从平台(操作系统和安装的包)中提供的内容分离开来。其中一点是平台可以独立于应用程序进行更新。例如,当安全更新需要紧急应用于平台提供的包而不重新构建整个应用程序时,这是非常有用的。

传统上,安全更新仅通过执行包管理器命令来应用,以便在操作系统上安装更新版本的包(例如,RHEL上的"yum更新“)。但是,随着容器技术的出现,例如Docker,容器映像本质上将应用程序和平台捆绑在一起,有什么标准的方法来保持一个系统与容器的最新联系呢?主机和容器都有自己的、独立的、需要在主机上更新和更新的包集,它们不会更新容器中的任何包。随着RHEL 7的发布,尤其是Docker容器的特性,我们很想知道Redhat推荐的处理容器安全更新的方法是什么。

对以下几种选择的思考:

  • 让包管理器更新主机上的包不会更新容器中的包。
  • 必须重新生成所有容器映像来应用更新,似乎打破了应用程序和平台之间的分离(更新平台需要访问生成Docker映像的应用程序构建过程)。
  • 在每个正在运行的容器中运行手动命令似乎很麻烦,并且在下一次从应用程序发布工件更新容器时,更改可能会被覆盖。

因此,这些方法似乎都不令人满意。

EN

回答 4

Server Fault用户

回答已采纳

发布于 2014-08-12 11:41:12

一个Docker映像包应用程序和“平台”,这是正确的。但通常情况下,图像是由基本图像和实际应用组成的。

因此,处理安全更新的规范方法是更新基本映像,然后重建应用程序映像。

票数 57
EN

Server Fault用户

发布于 2014-10-03 19:44:28

容器应该是重量轻和可互换的。如果容器存在安全问题,则重新构建修补的容器版本并部署新容器。(许多容器使用标准的基本映像,它使用诸如apt-get之类的标准包管理工具来安装它们的依赖项,重新构建将从存储库中提取更新)

虽然您可以在容器内进行修补,但这并不能很好地扩展。

票数 7
EN

Server Fault用户

发布于 2016-05-08 17:05:40

这是在SUSE Enterprise中使用zypper-docker自动处理的(1)

SUSE/zypper-码头

码头快速启动

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

https://serverfault.com/questions/611082

复制
相关文章

相似问题

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