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

微服务项目构建Docker镜像时缓存密钥计算失败错误求助

Docker构建微服务镜像时"target目录不存在"错误的解决建议

错误信息

failed to solve: failed to compute cache key: failed to calculate checksum of ref moby::wpj9ukdrfh21e1cvpctgp34fc: failed to walk /var/lib/docker/tmp/buildkit-mount3056715208/target: lstat /var/lib/docker/tmp/buildkit-mount3056715208/target: no such file or directory
docker-compose process finished with exit code 17

解决建议

  • 核对构建上下文路径:Docker构建时会将指定上下文目录的所有内容传递给Docker daemon,若target目录不在该上下文内,Daemon无法读取。确认docker-compose.yml中build字段的上下文指向项目根目录(即POM文件所在目录),示例配置:
    services:
      your-ms-service:
        build: .  # 此处需指向包含target的项目根目录
    
  • 重新执行Maven构建:即便确认target存在,也可能存在构建路径错误或隐性构建失败的情况。在项目根目录执行mvn clean package -DskipTests,确保target目录重新生成且包含完整的构建产物。
  • 检查Dockerfile的文件拷贝指令:查看Dockerfile中COPY/ADD指令的路径是否正确,比如COPY target/*.jar /app/app.jar,需保证target目录相对于构建上下文的路径无误。若Dockerfile不在项目根目录,需在docker-compose.yml中明确指定上下文和Dockerfile路径:
    build:
      context: .  # 项目根目录
      dockerfile: ./docker/Dockerfile  # Dockerfile的相对路径
    
  • 修复目录权限:target目录或其文件权限不足可能导致Docker daemon无法访问。执行chmod -R 755 target赋予常规可读可执行权限后重试构建。
  • 重启Docker服务:Docker daemon状态异常可能引发缓存清理后仍存在的残留问题。Linux环境执行systemctl restart docker,Windows/Mac直接重启Docker Desktop,之后再重新执行构建命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 01:22:13