首页/云/Docker 容器速查/scratch 空镜像构建
镜像与构建107 条

scratch 空镜像构建

scratch 是保留字:从完全空的文件系统开始构建,只适合放静态链接的产物;CA 证书、时区等要自行复制。

Docker 容器速查云更新于 2026-10-12
用途极致精简的静态二进制镜像
语法FROM scratch
适用Go/Rust/C 静态编译产物

示例

示例
FROM scratch
COPY --from=build /out/app /app
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=build /usr/share/zoneinfo /usr/share/zoneinfo
ENTRYPOINT ["/app"]
空镜像没有 libc、没有 shell;二进制必须静态编译,且需要的数据(证书、时区、passwd)显式拷入。

易错点

  • 忽略 CA 证书时应用访问 HTTPS 会报 x509 错误,排查看似应用问题实为基础镜像缺文件
  • 动态链接的任何依赖都不会存在,构建日志正常但运行立刻 exec format/not found

数据来源与参考

  • Docker 官方文档:Use the scratch image(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌