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

我们希望避免在dockerfiile中包含“yum update”,因为它可以根据何时构建docker镜像生成不同的容器,但显然如果需要更新基本系统,这可能会带来一些安全问题.真正拥有组织范围的基本系统映像并更新的最佳选择是什么?问题在于,每次应用安全更新时,都需要在整个组织中重建和部署所有应用程序.

对我来说似乎有点不同的替代方法是简单地忽略容器内的安全更新,只关心它们在主机上.这里的思考过程是,对于攻击者进入容器,需要在主机上存在漏洞,docker-engine中的另一个漏洞才能进入容器,然后是另一个利用漏洞利用内容的漏洞.容器,这似乎是一系列令人难以置信的事件.随着用户命名空间和seccomp配置文件的引入,这似乎进一步降低了风险.

无论如何,我如何处理容器内的安全更新,对CI / CD管道的影响最小,或者理想情况下不必每隔一段时间重新部署整个基础架构?

最佳答案
您可以通过引入中间更新层来减少构建的不可重复性.

创建如下图像:

FROM centos:latest
RUN yum update -y

构建图像,标记并推送它.现在,除非您决定更改它们,否则您的构建不会更改.

您可以将其他Dockerfiles指向myimage:latest,以便在您决定执行此操作或指向特定版本时获得自动更新.

我设置CI系统的方式是,使用更新成功(手动)构建基础映像会触发构建依赖于它的任何图像.

报告安全问题?检查更新的软件包是否可用,或者在Dockerfile中进行临时修复.触发构建.
有一段时间,您将拥有可以部署的所有应用程序的固定版本.

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...