构建与制品管理58 条

distroless 镜像

只含运行时与应用依赖、没有包管理器与 shell:缩小攻击面与体积,代价是排查手段受限(需借助旁路调试)。

CI/CD 与发布速查开发更新于 2026-10-12
适用编译型语言(Go/Rust/Java)静态或自带运行时的服务
变体static、base、语言专用(如 java)以及 :debug 变体(含 busybox)
权衡无法 docker exec 进容器排查,排障依赖日志、指标与临时 debug 镜像

用法示例

用法示例
FROM gcr.io/distroless/java21-debian12
COPY app.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
生产用无调试变体、排障时切 debug 变体或临时侧车,兼顾安全与可运维。

易错点

  • 应用内置健康检查脚本依赖 sh:distroless 里没有,检查逻辑移到外部
  • 用 distroless 却把敏感文件拷进去:镜像小不等于安全,逐项审计内容

数据来源与参考

  • GoogleContainerTools distroless 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌