Java 马文起重臂返回“;CertPathValidator异常:签名检查失败;arm32v7/OPENJDK docker容器内部

Java 马文起重臂返回“;CertPathValidator异常:签名检查失败;arm32v7/OPENJDK docker容器内部,java,maven,docker,jib,adoptopenjdk,Java,Maven,Docker,Jib,Adoptopenjdk,我正在使用我的树莓皮4与Docker安装。我正在尝试为我的Java项目创建一个构建容器,并让构建容器使用创建Docker映像。在容器中尝试此操作时,JIB会出现以下错误: [ERROR] I/O error for image [registry-1.docker.io/arm32v7/adoptopenjdk]: [ERROR] PKIX path validation failed: java.security.cert.CertPathValidatorException: sig

我正在使用我的树莓皮4与Docker安装。我正在尝试为我的Java项目创建一个构建容器,并让构建容器使用创建Docker映像。在容器中尝试此操作时,JIB会出现以下错误:

[ERROR] I/O error for image [registry-1.docker.io/arm32v7/adoptopenjdk]:
[ERROR]     PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
当我在笔记本电脑上的Ubuntu虚拟机上尝试相同的设置,安装了Docker和一个容器时,它成功了

我正在尝试使用JIB作为构建插件构建一个简单的java项目。my pom.xml中的build标记如下所示:

pom.xml

<build>
  <finalName>thaveke-backend</finalName>
  <plugins>
    <plugin>
      <groupId>com.google.cloud.tools</groupId>
      <artifactId>jib-maven-plugin</artifactId>
      <version>1.8.0</version>
      <configuration>
        <from>
          <image>arm32v7/adoptopenjdk:13.0.1_9-jdk-hotspot-bionic</image>
        </from>
        <to>
          <image>backend</image>
        </to>
      </configuration>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>dockerBuild</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

塞维克后端
com.google.cloud.tools
它确实在其中工作的容器,返回到容器并运行maven命令,但仍然收到相同的错误

如果您使用Debian Buster OS的raspberry pi 4,则可以使用以下步骤复制此错误:

  • 使用以下命令安装docker:
    curlhttps://get.docker.com |sh
  • 创建一个简单的项目并将其解压缩到raspberry pi上。更新pom.xml文件中的build标记,使其与上面的类似。在我的例子中,未打包的更新代码位于/opt/app下
  • 运行docker容器并使用以下命令进入bash终端:
    docker-run--rm-it-v/opt/app:/opt/app-v/var/run/
    docker.sock:/var/run/docker.sock-v$(哪个docker):$(哪个docker)arm32v7/adoptope
    njdk:13.0.1_9-jdk-hotspot-bionic bash
  • 在docker容器内时,将目录更改为/opt/app:
    cd/opt/app
  • 运行maven命令编译和构建docker映像:
    /mvnw clean package-DskipTests
  • 我不确定这是一个JIB错误,一个OpenJDK错误,还是我忽略了什么


    亲切问候

    我在jib docker图像中的raspberry pi上运行adoptopenjdk时遇到了非常类似的情况。这似乎有些关联。我最终使用了一个新的工具。我使用的是GradleJib而不是maven插件,但它应该也能工作。祝你好运

    from {
      // https://github.com/GoogleContainerTools/jib/issues/2148
      image = "bellsoft/liberica-openjdk-alpine@sha256:91a5cede9b201c98ef6fc13aff270f58f07bee86ed9f508e22c7a883bfef2679"
    }
    
    docker运行--rm-it。。。arm32v7/adoptopenjdk:13.0.1_9-jdk-hotspot-bionic
    将给您一个jshell提示。(如果您刚刚收到sh提示,请手动运行
    jshell
    。)在jshell上,尝试
    newurl(“https://registry-1.docker.io/v2/“”.openStream()
    查看是否仍返回PKIX错误。(OTOH,应该得到401)如果它不起作用,那就是JVM上的一些证书问题。