Я использую Dockerfile
, чтобы создать изображение для нашего веб-приложения, для которого требуется HTTPS
. Тем не менее, я получаю Certificate not imported, alias <my-cert-name> already exists
Java исключение. Когда я попытался без использования Dockerfile
, просто из командной строки, я смог удалить существующий псевдоним и export
, import
сработало. Но не с Dockerfile
. Любые идеи? Спасибо!
Dockerfile:
FROM openjdk:8-alpine
#Starting https and certs configuration
#Make directory for certs inside the container
RUN mkdir -p usr/app/ssl/certs/
#Copy certs from local to the container
COPY myWebApp/src/main/resources/PT/certificates/my-cert-name.jks usr/app/ssl/certs/
COPY myWebApp/src/main/resources/PT/certificates/trustStore.jks usr/app/ssl/certs/
#Export/Import certificate
RUN cd usr/app/ssl/certs/ && \
keytool -delete -alias my-cert-name -keystore my-cert-name.jks -storepass password123! && \
keytool -export -alias my-cert-name -keystore my-cert-name.jks -file my-cert-name.crt -storepass password123! && \
keytool -importcert -keystore trustStore.jks -alias my-cert-name -storepass password123! -file my-cert-name.crt -noprompt
#Ending https and certs configuration
RUN mkdir -p /usr/app/myweb
COPY myWebApp/target/myWeb.war /usr/app/myweb
CMD java -Xms512M -Xmx6144M -XX:MaxMetaspaceSize=3072M -jar /usr/app/myweb/myWeb.war
EXPOSE 8080
Docker команда построения
>docker build -it test-https-image .
Env:
Using Docker desktop on windows 10.
Заранее спасибо!