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"]
解决方法:
- 先构建生成Jar包:在项目根目录执行构建命令生成可执行Jar包
- Maven用户执行:
mvn clean package - Gradle用户执行:
gradle clean build
- Maven用户执行:
- 校验Jar包路径与名称:查看项目根目录下的
target(Maven)或build/libs(Gradle)目录,确认Jar包实际名称与Dockerfile中COPY命令的文件名完全一致 - 检查.dockerignore配置:确保
.dockerignore文件没有忽略target或build目录,否则构建上下文会排除这些文件,导致COPY失败
内容的提问来源于stack exchange,提问作者shawn19702
相关产品推荐
相关产品推荐

