原因:
SqlServer 服务器只接受 TLS1.0,在进入容器后查询jre内的java.security文件找到jdk.tls.disabledAlgorithms配置发现新版的 JDK 不推荐使用旧的 TLSV1.0 的协议,而Springboot JDK1.8使用的是 TLS1.2。
解决方案:
Ⅰ、找到本地安装 jdk 1.8的jre目录,例:D:\xxx\xxx\jre1.8.0_351\lib\security,或进入容器内部目录:/usr/local/openjdk-8/jre/lib/security/,将 java.security 复制一份出来,打开这个文件(记事本之类),搜索:jdk.tls.disabledAlgorithms,将 TLSv1, TLSv1.1, 删掉。
Ⅱ、将修改好的 java.security 复制到运行 docker 的宿主机上,移除原正在运行的报错容器,运行容器指令新增参数:-v /宿主机java.security所在目录/java.security:/usr/local/openjdk-8/jre/lib/security/java.security。注意:有可能容器默认路径不是:/usr/local/openjdk-8/jre/lib/security/java.security。
文章评论