Dockerfile 构建提高了不足的范围:公共 openjdk 映像授权失败

Fab*_*ujo 2 java docker docker-compose

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

docker-compose up --remove-orphans --force-recreate --build -d
Run Code Online (Sandbox Code Playgroud)

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"]
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

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

提前致谢

小智 6

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

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

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

选择这些名称之一