容器镜像的隐患,远比你想的更严重。你以为用了官方镜像就安全了?实际上,`python:3.13`、`node:22` 这些最常用的官方镜像里,塞满了你可能永远不会用到的软件包、Shell、调试工具,以及不断冒出来的已知CVE漏洞。每次漏洞被披露,你的团队都要花时间分类、重建、重新部署——而这些麻烦,大都源自那些本就不该出现在运行时镜像里的包。 这篇博客是 Docker Hardened Images(DHI)系列的第一篇。读完本文,你会理解典型容器镜像的真正问题,知道Docker加固镜像到底是什么,学会登录 dhi.io、拉取第一个加固镜像并运行它,还能和普通官方镜像做并排对比。你会带着清晰的“为什么”和第一个可运行的镜像离开。 #### 为什么这很重要 大多团队起步时用的都是 `python:3.13`、`node:22` 这类官方镜像。它们确实方便,但通常包含: - 大量你根本用不到的软件包 - Shell、包管理器、调试工具 - 扫描中反复出现的已知CVE - 比你的应用实际所需大得多的攻击面 而加固镜像刻意做到最小化,并持续维护,让已知漏洞数量趋近于零,攻击面大幅缩小。Docker Hardened Images(DHI)正是Docker官方的这一理念的实现,社区版在 Apache 2.0 许可下完全免费开放。 #### 开始之前你需要知道 - 基本Docker知识(`docker pull`、`docker run`、`docker images`) - 一个免费的Docker账号 - Docker Desktop或Docker Engine,带Scout CLI插件(Docker Desktop自带) #### 重要区分(别混淆) **更小不等于更安全。** 加固的核心是持续维护、来源可追溯和攻击面缩减这三者的结合。 #### 前后对比——攻击面 下面的示意图(左侧为典型官方镜像,右侧为加固镜像)展示了一个关键事实:左侧是塞满额外工具和软件包的官方镜像,右侧的加固镜像只保留运行应用所需的部分。组件越少,藏漏洞的地方就越少。 #### 第一步——亲眼看看问题 先拉取一个普通官方镜像,看看它的大小和漏洞情况(以Python为例): ``` docker pull python:3.13 ``` 然后可以用Docker Scout检查漏洞。你会发现,一个简单的基础镜像里居然藏着成百上千的已知问题。这就是我们要解决的核心痛点。接下来的章节会带你一步步构建第一个Docker加固镜像,并亲身体验它和普通官方镜像之间的巨大差异。
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.