Я использую Raspberry Pi 4 с установленным Docker. Я пытаюсь создать сборочный контейнер для моих Java проектов и позволить сборочному контейнеру создавать Docker изображений, используя Maven JIB . Когда я пытаюсь сделать это в arm32v7 / accepttopenjdk: 13.0.1_9-jdk-hotspot-bioni c контейнер, 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 завершается успешно.
Я пытаюсь создать простой Проект Spring Initialzr java с JIB в качестве подключаемого модуля. Тег сборки в моем pom. xml выглядит следующим образом:
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 / accepttopenjdk: 13.0.1_9-jdk-hotspot-bioni c* Контейнер 1024 * и выполнил команду maven, но все равно получил ту же ошибку.
Если у вас есть raspberry pi 4 с ОС Debian Buster, эту ошибку можно воспроизвести, выполнив следующие шаги:
- Установите docker, используя следующую команду:
curl https://get.docker.com | sh
- Создайте простой spring initialzr проект и распакуйте его на Raspberry Pi. обновите тег сборки в файле pom. xml, чтобы он выглядел как мой выше. В моем случае распакованный обновленный код находится в /opt/app.
- Запустите контейнер docker и go в терминал 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
- Когда внутри контейнера docker измените каталог на / opt / app:
cd /opt/app
- Запустите команду maven для компиляции и сборки docker image:
./mvnw clean package -DskipTests
Я не уверен, что это ошибка JIB, ошибка AdoptOpenJDK или я просто что-то пропускаю?
С уважением