Я пытаюсь добавить сертификат в хранилище доверенных сертификатов $JAVA_HOME/jre/lib/security/cacerts в моем файле Dockerfile:
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
RUN keytool -import -alias vault -storepass changeit -keystore $JAVA_HOME/jre/lib/security/cacerts -noprompt -trustcacerts -file /var/run/secrets/kubernetes.io/certs/tls.crt
ADD wseccloudconfig-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c 'touch /app.jar'
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
Как вы можете видеть, я выполняю команду keytool..., чтобы вставить сертификат в cacerts.
Я развертываю этот образ в своем кластере openshift/kubernetes. После подключения к оболочке модуля я могу правильно запустить эту команду keytool.... Я имею в виду, что команда хорошо сформирована. Никаких синтаксических проблем или связанных с ними проблем нет...
Итак, я исключил тот факт, что в результате выполнения этой команды: keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts появляется мой сертификат, но он не отображается.
Есть идеи?
РЕДАКТИРОВАТЬ
Также я пробовал написать это в Dockerfile:
CMD ["keytool", "-import", "-alias", "vault", "-storepass", "changeit", "-keystore", "$JAVA_HOME/jre/lib/security/cacerts", "-noprompt", "-trustcacerts", "-file", "/var/run/secrets/kubernetes.io/certs/tls.crt"]