首页 > 解决方案 > Dockerfile 构建提高了不足的_scope:使用公共 openjdk 映像授权失败

问题描述

我正在尝试使用命令运行以下 Dockerfile

docker-compose up --remove-orphans --force-recreate --build -d

Dockerfile:

FROM maven:3.6.3-jdk-11 as builder
COPY src /home/app/src     
COPY pom.xml /home/app
RUN mvn -f /home/app/pom.xml clean package

FROM openjdk:latest
COPY --from=build /usr/src/app/target/app.jar /home/app/app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/home/app/app.jar"]

构建阶段运行正常,但是运行阶段引发以下错误:

Building java
failed to get console mode for stdout: The handle is invalid.
[+] Building 1.5s (4/6)
=> [internal] load build definition from Dockerfile                       0.0s
=> [internal] load build definition from Dockerfile                       0.0s
=> => transferring dockerfile: 380B                                       0.0s
=> [internal] load .dockerignore                                          0.0s
=> => transferring context: 2B                                            0.0s
=> [internal] load metadata for docker.io/library/openjdk:latest          1.2s
=> ERROR FROM docker.io/library/build:latest                              1.7s
=> => resolve docker.io/library/build:latest                              1.7s
=> CACHED [stage-1 1/2] FROM docker.io/library/openjdk:latest@sha256:e4f  0.0srequire 
authorization: server message: insufficient_scope: authorization failed
=> [auth] library/build:pull token for registry-1.docker.io               0.0s

首先,我虽然这是一个身份验证问题,所以我登录了 Docker 桌面,但它仍然无法正常工作。有没有我可以检查的日志或任何参考来尝试找到这个问题的根源?

提前致谢

标签: javadockerdocker-compose

解决方案


您将阶段命名为 builder,但在下一阶段使用名称 build。

FROM maven:3.6.3-jdk-11 作为构建器

COPY --from= build /usr/src/app/target/app.jar /home/app/app.jar

选择其中一个名称


推荐阅读