我有一个基于Distroless的 Java 应用程序容器化(docker) ,我想在 JVM 的存储中添加一个 SSL 证书。
我看到一个选项,例如使用 Docker 的RUN命令使用 Java 选项将 SSL 证书导入 JVM 存储keytool
,但由于 Distroless 不附带 Shell,我无法使用 RUN 命令。
有没有将 SSL 证书添加到cacerts
以 Distroless 作为基本映像的 -Java 的最佳方法?
我有一个基于Distroless的 Java 应用程序容器化(docker) ,我想在 JVM 的存储中添加一个 SSL 证书。
我看到一个选项,例如使用 Docker 的RUN命令使用 Java 选项将 SSL 证书导入 JVM 存储keytool
,但由于 Distroless 不附带 Shell,我无法使用 RUN 命令。
有没有将 SSL 证书添加到cacerts
以 Distroless 作为基本映像的 -Java 的最佳方法?
我们可以使用exec形式来编写不需要 shell 的命令。
FROM gcr.io/distroless/java@sha256:da8aa0fa074d0ed9c4b71ad15af5dffdf6afdd768efbe2f0f7b0d60829278630
COPY my.crt /tmp/my.crt
RUN [\
"/usr/lib/jvm/java-11-openjdk-amd64/bin/keytool",\
"-import",\
"-trustcacerts",\
"-cacerts",\
"-noprompt",\
"-storepass",\
"changeit",\
"-alias",\
"my",\
"-file",\
"/tmp/my.crt"\
]
请务必根据您的需要调整命令!