跳到内容
观澜涉川 · 札记EN

修复基于 Debian/Ubuntu 的 Docker 基础镜像中的 CVE 漏洞

· 约 1 分钟阅读

使用 python:3.14-slim 或 node:20-slim 等官方镜像时,上游更新可能并不及时,镜像内预装的 Debian/Ubuntu 系统包(如 openssl、glibc)仍可能存在 CVE 漏洞。

解决方案

在 Dockerfile 紧跟 FROM 之后加入以下命令,一键升级系统包并清理缓存:

RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

要点解析

  • apt-get upgrade -y:升级系统中所有可升级的软件包,打满系统软件包的最新安全补丁。
  • rm -rf /var/lib/apt/lists/* + apt-get clean:彻底清理索引与缓存,控制镜像体积。

最佳实践(构建命令)

在 CI/CD 中构建时,建议配合以下参数使用:

Terminal window
docker build --pull --no-cache -t my-app .
  • --pull:强制拉取最新的基础镜像(确保 upstream 修复也能同步进来)。
  • --no-cache:跳过本地构建缓存,确保执行最新的 apt-get upgrade。