我试图使用mysql作为keycloak,以前也使用过相同的配置,但这次它出现了链接失败。
volumes:
mysql_data:
driver: local
services:
mysql:
image: mysql:5.7
volumes:
- mysql_data:/var/lib/mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: keycloak
MYSQL_USER: keycloak
MYSQL_PASSWORD: password
keycloak:
build: keycloak-image
image: km-keycloak
environment:
PROXY_ADDRESS_FORWARDING: "true"
DB_VENDOR: MYSQL
DB_ADDR: mysql
DB_DATABASE: keycloak
DB_USER: keycloak
DB_PASSWORD: password
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
volumes:
- mysql_data:/opt/jboss/mysql_data
depends_on:
- mysql
links:
- mysql我的keycloak图像停靠文件看起来像
FROM jboss/keycloak
COPY km.json /opt/jboss
COPY entrypoint.sh /opt/jboss
USER root
RUN chown jboss /opt/jboss/entrypoint.sh && chmod +x /opt/jboss/entrypoint.sh
USER 1000
ENTRYPOINT ["/opt/jboss/entrypoint.sh"]
CMD [""]钥匙斗篷的入口点看起来像
#!/bin/bash
if [[ -e /opt/jboss/mysql_data/keycloak ]]; then
/opt/jboss/tools/docker-entrypoint.sh -b 0.0.0.0
else
/opt/jboss/tools/docker-entrypoint.sh -Dkeycloak.migration.action=import -Dkeycloak.migration.provider=singleFile -Dkeycloak.migration.file='km.json' -b 0.0.0.0
fi我所犯的错误是
原因: javax.resource.ResourceException: IJ031084:无法创建由以下原因引起的连接:javax.resource.ResourceException通信链路故障: javax.net.ssl.SSLHandshakeException:没有合适的协议(协议被禁用或密码套件不合适)
发布于 2019-11-14 21:03:29
添加
JDBC_PARAMS: "useSSL=false"keycloak environment变量在您的停靠-撰写文件。
(例如直接在KEYCLOAK_PASSWORD之后)
根据您的设置,可能没有必要在两个容器之间使用SSL保护连接。
我不知道为什么现在会发生这个错误。它在键盘斗篷版本7.0.0中工作,但不再在7.0.1中工作了。也许java版本已经改变了,不再信任默认的mysql容器ssl cert了。
错误stderr清华11月14日20:55:46 UTC 2019年警告:不建议建立不需要服务器身份验证的stderr连接。根据MySQL 5.5.45+,如果未设置显式选项,则默认情况下必须建立5.6.26+和5.7.6+要求SSL连接。为了遵从不使用SSL的现有应用程序,verifyServerCertificate属性被设置为'false‘。您需要通过设置useSSL=false显式禁用SSL,或者设置useSSL=true并为服务器证书验证提供信任存储。
。
https://stackoverflow.com/questions/58823674
复制相似问题