在将应用程序部署到服务器上时,通常会将应用程序本身捆绑的内容与它希望从平台(操作系统和安装的包)中提供的内容分离开来。其中一点是平台可以独立于应用程序进行更新。例如,当安全更新需要紧急应用于平台提供的包而不重新构建整个应用程序时,这是非常有用的。
传统上,安全更新仅通过执行包管理器命令来应用,以便在操作系统上安装更新版本的包(例如,RHEL上的"yum更新“)。但是,随着容器技术的出现,例如Docker,容器映像本质上将应用程序和平台捆绑在一起,有什么标准的方法来保持一个系统与容器的最新联系呢?主机和容器都有自己的、独立的、需要在主机上更新和更新的包集,它们不会更新容器中的任何包。随着RHEL 7的发布,尤其是Docker容器的特性,我们很想知道Redhat推荐的处理容器安全更新的方法是什么。
对以下几种选择的思考:
因此,这些方法似乎都不令人满意。
发布于 2014-08-12 11:41:12
一个Docker映像包应用程序和“平台”,这是正确的。但通常情况下,图像是由基本图像和实际应用组成的。
因此,处理安全更新的规范方法是更新基本映像,然后重建应用程序映像。
发布于 2014-10-03 19:44:28
容器应该是重量轻和可互换的。如果容器存在安全问题,则重新构建修补的容器版本并部署新容器。(许多容器使用标准的基本映像,它使用诸如apt-get之类的标准包管理工具来安装它们的依赖项,重新构建将从存储库中提取更新)
虽然您可以在容器内进行修补,但这并不能很好地扩展。
发布于 2016-05-08 17:05:40
https://serverfault.com/questions/611082
复制相似问题