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

Docker构建Spring Boot镜像报错:无法读取Dockerfile及COPY失败求助

Docker构建Spring Boot镜像常见问题解决

问题1:Dockerfile找不到错误

执行命令:

docker build -t demo .

报错:

failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount235234165/Dockerfile: no such file or directory

解决方法:

  • 确认Dockerfile文件(首字母大写,无后缀)存在于当前执行docker build命令的目录下
  • 如果Dockerfile在其他路径,使用-f参数指定路径,例如:
    docker build -t demo -f ./src/main/docker/Dockerfile .
    

问题2:COPY步骤失败错误

切换到项目根目录执行构建命令后,COPY步骤报错,日志如下:

C:\Users\shawn\demo\src\main\java\passion\project\demo>docker build -t demo .
[+] Building 2.6s (8/8) FINISHED
 => [internal] load build definition from Dockerfile                                                               0.3s
 => => transferring dockerfile: 193B                                                                               0.2s
 => [internal] load .dockerignore                                                                                  0.1s
 => => transferring context: 2B                                                                                    0.0s
 => [internal] load metadata for docker.io/library/openjdk:11                                                      1.6s
 => [auth] library/openjdk:pull token for registry-1.docker.io                                                     0.0s
 => CANCELED [1/3] FROM docker.io/library/openjdk:11@sha256:99bac5bf83633e3c7399aed725c8415e7b569b54e03e4599e580f  0.3s
 => => resolve docker.io/library/openjdk:11@sha256:99bac5bf83633e3c7399aed725c8415e7b569b54e03e4599e580fc9cdb7c21  0.2s
 => => sha256:99bac5bf83633e3c7399aed725c8415e7b569b54e03e4599e580fc9cdb7c21ab 1.04kB / 1.04kB                     0.0s
 => [internal] load build context                                                                                  0.2s
 => => transferring context: 2B                                                                                    0.0s
 => CACHED [2/3] WORKDIR /app                                                                                      0.0s
 => ERROR [3/3] COPY target/demo-0.0.1-SNAPSHOT.jar /app/demo.jar                                                  0.0s
------
 > [3/3] COPY target/demo-0.0.1-SNAPSHOT.jar /app/demo.jar:

使用过的两个Dockerfile:
第一个:

FROM openjdk:11

LABEL mentainer="shawn"

WORKDIR /app

COPY target/demo-0.0.1-SNAPSHOT.jar /app/demo.jar

ENTRYPOINT ["java", "-jar", "demo.jar"]

第二个:

FROM openjdk:11
COPY target/demo-0.0.1-SNAPSHOT.jar /app/demo.jar
ENTRYPOINT ["java", "-jar", "demo.jar"]

解决方法:

  1. 先构建生成Jar包:在项目根目录执行构建命令生成可执行Jar包
    • Maven用户执行:
      mvn clean package
      
    • Gradle用户执行:
      gradle clean build
      
  2. 校验Jar包路径与名称:查看项目根目录下的target(Maven)或build/libs(Gradle)目录,确认Jar包实际名称与Dockerfile中COPY命令的文件名完全一致
  3. 检查.dockerignore配置:确保.dockerignore文件没有忽略target或build目录,否则构建上下文会排除这些文件,导致COPY失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 20:15:29