Maven JIB在arm32v7 / adoptopenjdk docker容器内返回“ CertPathValidatorException:签名检查失败”

我正在使用安装了Docker的raspberry pi 4。我正在尝试为Java项目创建构建容器,并让构建容器使用Maven JIB创建Docker映像。当我在arm32v7/adoptopenjdk:13.0.1_9-jdk-hotspot-bionic容器中尝试此操作时,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并且使用了openjdk:13-jdk容器时,它成功了。

我正在尝试使用JIB作为构建插件来构建一个简单的spring initialzr Java项目。我的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>

由于PKIX错误,我立即想到了过时的cacerts,因此我将cacerts文件从工作的openjdk:13-jdk容器复制到了arm32v7/adoptopenjdk:13.0.1_9-jdk-hotspot-bionic容器,并运行了maven命令,但仍然收到同样的错误。

如果您使用的是Debian Buster OS的raspberry pi 4,则可以通过以下步骤重现此错误:

  1. 使用以下命令安装docker:curl https://get.docker.com | sh
  2. 创建一个简单的spring initialzr项目,并将其解压缩到树莓派上。更新pom.xml文件中的build标记,使其看起来像上面的我的。就我而言,解压后的更新代码位于/ opt / app下。
  3. 运行docker容器并使用以下命令进入bash终端: docker run --rm -it -v /opt/app:/opt/app -v /var/run/ docker.sock:/var/run/docker.sock -v $(which docker):$(which docker) arm32v7/adoptope njdk:13.0.1_9-jdk-hotspot-bionic bash
  4. 在docker容器中时,将目录更改为/ opt / app:cd /opt/app
  5. 运行maven命令以编译和构建docker映像:./mvnw clean package -DskipTests

我不确定这是一个JIB错误,一个AdoptOpenJDK错误还是我只是忽略了什么?

亲切的问候

sin777sin 回答:Maven JIB在arm32v7 / adoptopenjdk docker容器内返回“ CertPathValidatorException:签名检查失败”

我遇到了一个非常相似的事情,即在一个短臂码头工人镜像中的树莓派上运行通过openjdk。这个issue似乎有些关联。我最终使用了different jdk from bellsoft。我使用的是gradle臂架而不是Maven插件,但是它应该可以正常工作。祝你好运。

from {
  // https://github.com/GoogleContainerTools/jib/issues/2148
  image = "bellsoft/liberica-openjdk-alpine@sha256:91a5cede9b201c98ef6fc13aff270f58f07bee86ed9f508e22c7a883bfef2679"
}
本文链接:https://www.f2er.com/2782074.html

大家都在问