在 Distroless Image(Java 应用程序)中添加 SSL 证书

Har*_*ran 8 ssl-certificate docker jib

我有一个基于Distroless的 Java 应用程序容器化(docker),我想在 JVM 的商店中添加一个 SSL 证书。

我看到一个选项,比如使用 Docker 的RUN命令使用 Javakeytool选项将 SSL 证书导入到 JVM 存储中,但是由于 Distroless 没有附带 Shell,我无法使用 RUN 命令。

是否有将 SSL 证书添加到cacerts-Java 并使用 Distroless 作为基本映像的最佳方法?

Fle*_*der 8

我们可以使用exec形式来编写不需要 shell 的命令。

\n\n
FROM gcr.io/distroless/java@sha256:da8aa0fa074d0ed9c4b71ad15af5dffdf6afdd768efbe2f0f7b0d60829278630\nCOPY my.crt /tmp/my.crt\nRUN [\\\n "/usr/lib/jvm/java-11-openjdk-amd64/bin/keytool",\\\n "-import",\\\n "-trustcacerts",\\\n "-cacerts",\\\n "-noprompt",\\\n "-storepass",\\\n "changeit",\\\n "-alias",\\\n "my",\\\n "-file",\\\n "/tmp/my.crt"\\\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

请务必根据您的需要调整命令!

\n
\n