我有一个基于Distroless的Java应用程序容器化(docker),我想在JVM的存储中添加SSL证书。
我看到一个选项,例如使用Docker的RUN命令通过Java keytool
选项将SSL证书导入到JVM存储中,但是由于Distroless不随Shell一起提供,所以我无法使用RUN。命令。
是否有最好的方法将SSL证书添加到以Distroless为基础映像的cacerts
-Java中?
答案 0 :(得分:0)
我们可以使用 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"\
]
请确保根据您的需要调整命令!