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

使用Spring Boot build-image构建Docker镜像时遇EOF错误求助

错误原因分析:Docker镜像构建时的EOF错误

核心原因

这个错误本质是拉取Docker镜像层时请求意外中断,具体触发场景分以下几种:

  • 网络不稳定:从Cloudflare托管的Docker Registry拉取镜像Blob时,网络波动、DNS解析失败或墙内访问Docker Hub的限制,导致连接提前断开,返回EOF(文件结束符)。
  • 本地Docker缓存损坏:之前拉取的基础镜像层(比如Spring Boot Buildpacks依赖的paketo镜像)不完整或损坏,构建时读取这些缓存失败。
  • Buildpacks与工具版本的兼容细节问题:Spring Boot 3.3.4默认的Buildpacks可能和Java 22、Docker Desktop 4.33.1存在小范围适配冲突,导致镜像层拉取逻辑异常。

可行的解决步骤

  • 修复网络连接:
    • 重启Docker Desktop,切换网络环境(比如WiFi换有线)
    • 在Docker Desktop的「设置->Docker Engine」中配置国内镜像加速源,示例配置:
      {
        "registry-mirrors": ["https://<你的加速源地址>"]
      }
      
  • 清理Docker缓存:
    执行命令清理所有无效缓存和未使用的镜像:
    docker system prune -a
    
    清理完成后重新运行构建命令。
  • 指定兼容的Buildpacks Builder:
    在pom.xml中显式指定稳定的builder镜像,避免自动拉取可能存在问题的版本:
    <build>
      <plugins>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <configuration>
            <image>
              <builder>paketobuildpacks/builder-jammy-base:0.35.1</builder>
            </image>
          </configuration>
        </plugin>
      </plugins>
    </build>
    
  • 降级Java版本测试:
    暂时切换到Java 21 LTS版本(Spring Boot官方长期支持的版本),验证是否是Java 22的适配问题。

内容的提问来源于stack exchange,提问作者Francisco M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 23:58:16