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

Spring Boot执行build-image报错:Request to write bytes exceeds size in header

问题排查与解决方案

原因分析

这个报错是Paketo Buildpacks与Docker daemon通信时的请求头部大小超限问题,仅在你的WSL2环境触发,大概率和WSL2的网络配置、Docker参数或文件系统挂载限制有关。

具体解决步骤

1. 增大Docker请求头部限制

编辑WSL2中的Docker配置文件/etc/docker/daemon.json(不存在则新建),添加以下配置:

{
  "headers": {
    "Max-Header-Size": "65536"
  }
}

保存后重启Docker服务:

sudo systemctl restart docker

该配置会提升Docker允许的请求头部大小,适配full-cf builder更大的构建上下文需求。

2. 迁移项目到WSL原生文件系统

避免将项目放在Windows NTFS挂载目录(如/mnt/c下的文件夹),这类挂载目录存在IO和权限限制,可能导致构建上下文传输异常。
将项目移动到WSL2的原生用户目录,比如~/projects/your-spring-app,再重新执行构建命令。

3. 更新WSL2内核版本

旧版WSL2内核可能存在网络或文件系统bug,执行以下命令更新:

wsl --update

更新完成后重启WSL2:

wsl --shutdown

重新打开WSL终端后再尝试构建。

4. 清理构建缓存

缓存损坏也可能引发异常,执行以下命令清理:

# 清理Docker镜像与缓存
docker system prune -af
# 清理Paketo构建缓存
rm -rf ~/.paketo

清理后重新执行mvnw spring-boot:build-image。

5. 调整WSL2资源分配

如果WSL2内存不足,可能导致构建过程异常。在Windows系统下编辑%USERPROFILE%\.wslconfig文件,添加或修改资源配置:

[wsl2]
memory=8GB
processors=4

保存后重启WSL2,再尝试构建。


内容的提问来源于stack exchange,提问作者Tomas Laubr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 03:38:12