You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行gradlew bootBuildImage拉取的Docker镜像显示41年前创建是什么原因?

为什么通过bootBuildImage拉取的Buildpack镜像创建时间显示为41年前

你执行docker images看到的如下时间异常输出属于正常设计,并非故障:

pack.local/builder/qxoshxwcye                                             latest              41 years ago        782MB
paketobuildpacks/builder                                                  base                41 years ago        782MB

具体原因如下:

  • 该特性来自Cloud Native Buildpacks(CNB)的可复现构建设计规范:所有官方发布的Buildpack基础镜像、以及通过Buildpack构建生成的镜像,都会将镜像各层的创建时间硬编码为固定值1980-01-01 00:00:00 UTC,选择这个时间点是因为它是FAT文件系统支持的最早时间戳,可以兼容更多运行环境。
  • 固定时间戳的核心作用是消除构建过程中的非业务变量:只要构建输入的代码、依赖、配置完全一致,无论在任何时间、任何机器上执行构建,最终生成的镜像哈希值完全相同,方便镜像校验、缓存复用、合规审计等场景落地,避免时间戳这类无关因素导致相同内容构建出的镜像存在差异。
  • Spring Boot的bootBuildImage任务底层默认采用Paketo Buildpacks实现镜像构建,你拉取的Paketo官方builder镜像、后续构建生成的应用镜像都会默认使用该固定时间戳,因此docker images查询时会显示为40多年前,完全不影响镜像的正常使用。

内容的提问来源于stack exchange,提问作者Bartosz Bilicki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:54:00