0

我想用 OpenJDK 17 创建一个 docker 镜像,但它会通过添加我们公司的证书来修改。

Dockerfile:

FROM openjdk:17 

COPY Certs /certs
RUN /certs/load_certs.sh \
    && rm -rf /certs

“Certs”目录包含所有必要的证书。这工作正常。我检查了图像中的 JDK 17 是否包含证书,是的,它们在那里。然后我想用 Gradle 7.3.3 创建一个镜像,它将使用提到的 OpenJDK 17 镜像和所有证书。

FROM centos:8

# some commands here

#jdk
COPY --from=nexus.ourcompany.com:4402/aliter/open-jdk17 /usr/java/openjdk-17 /etc/jdk17
ENV JAVA_HOME=/etc/jdk17
ENV PATH="${JAVA_HOME}/bin:${PATH}"

# some commands here

#gradle
RUN cd /tmp \
    && curl --insecure -O https://nexus.ourcompany.com/repository/ourcompany-maven-public/org/gradle/7.3.3/gradle-7.3.3-bin.zip \
    && cd ..
RUN unzip /tmp/gradle-7.3.3-bin.zip -d /etc \
    && rm -rf gradle-7.3.3-bin.zip
ENV PATH="/etc/gradle-7.3.3/bin:${PATH}"
RUN gradle -v

# some commands here

我使用 Gradle 和 OpenJDK 创建了图像,但是当我尝试构建我们的项目时,它会打印出来

PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

我检查了 Gradle 映像中的 OpenJDK,它不包含证书。我对 OpenJDK 11 使用了相同的方法,一切正常。

谁能告诉我出了什么问题?

4

0 回答 0