1.拉取docker 镜像 账号 admin 密码 123456
docker run -p 8080:8080 --name keycloak -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=123456 quay.io/keycloak/keycloak:9.0.3
2.复制数据库驱动包 复制到 /opt/jboss/keycloak/modules/system/layers/base/com/
docker cp /root/keycloak/mysql/ keycloak:/opt/jboss/keycloak/modules/system/layers/base/com/
3.将配置文件standalone-ha.xml 复制出来进行编辑
docker cp keycloak:/opt/jboss/keycloak/standalone/configuration/standalone.xml /root/
4.修改standalone-ha.xml 内容 keycloak 内部库,基于自定义用户验证的数据库
<datasources>
<xa-datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
<xa-datasource-property name="URL">
jdbc:mysql://loclahost:3306/keycloak?useSSL=false&useUnicode=true&characterEncoding=UTF-8
</xa-datasource-property>
<driver>mysql</driver>
<xa-pool>
<is-same-rm-override>false</is-same-rm-override>
<no-tx-separate-pools>true</no-tx-separate-pools>
</xa-pool>
<security>
<user-name>root</user-name>
<password>123456</password>
</security>
</xa-datasource>
<xa-datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<xa-datasource-property name="URL">
jdbc:mysql://localhost:3306/system?useSSL=false&useUnicode=true&characterEncoding=UTF-8
</xa-datasource-property>
<driver>mysql</driver>
<xa-pool>
<is-same-rm-override>false</is-same-rm-override>
<no-tx-separate-pools>true</no-tx-separate-pools>
</xa-pool>
<security>
<user-name>root</user-name>
<password>123456</password>
</security>
</xa-datasource>
<drivers>
<driver name="mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
5.修改好的standalone-ha.xml 配置文件 复制到 /opt/jboss/keycloak/standalone/configuration
docker cp /root/keycloak/standalone-ha.xml keycloak:/opt/jboss/keycloak/standalone/configuration/
6.复制user-storage-jpa-example 到 /opt/jboss/keycloak/standalone/deployments/
docker cp /root/keycloak/user-storage-jpa-example.jar keycloak:/opt/jboss/keycloak/standalone/deployments/
7.复制主题包到 keyclock 主题文件夹下
docker cp /root/keycloak/custom-themes/ keycloak:/opt/jboss/keycloak/themes/
8.重新启动服务