springboot 打成jar包 用jar -jar,运行在服务器正常,但是用docker 打包运行在容器内容,就会报错Received fatal alert: handshake_failure

问题可能在于你的dockerfile中的镜像源的问题,
我之前用dockerfile 里面的镜像是 FROM eclipse-temurin:8-jre-alpin

镜像为了精简体积,默认移除了一些 TLS/SSL 相关的加密套件和根证书,当你的 SpringBoot 服务调用 HTTPS 接口(如第三方 API、数据库、消息队列等)时,就会触发握手失败。 Received fatal alert: handshake_failure

解决方案 :使用非 Alpine 版本的 Temurin 镜像(更稳定,无兼容问题)修改成eclipse-temurin:8-jre

#FROM eclipse-temurin:8-jre-alpin
FROM eclipse-temurin:8-jre
#将本地文件添加到容器中,并更名为app.jar
ADD cloud-cra-saas.jar /app.jar
#指定访问端口,与yml文件中的端口一致
#COPY server.crt /tmp/server.crt
#RUN keytool -import -alias myserver -file /tmp/server.crt -keystore /opt/java/openjdk/lib/security/cacerts  -storepass changeit -noprompt
#作者
MAINTAINER WP
#将本地文件添加到容器中,并更名为app.jar
ADD cloud-cra-saas.jar /app.jar
#指定访问端口,与yml文件中的端口一致
WORKDIR /app
EXPOSE 8074
#COPY server.crt /tmp/server.crt
#RUN keytool -import -alias myserver -file /tmp/server.crt -keystore /opt/java/openjdk/lib/security/cacerts  -storepass changeit -noprompt

# JDK 8专属SSL配置,解决

更多推荐