docker安裝keycloak並整合ldap(ldap是外部公司提供而不是自己安裝的)

目前公司使用keycloak+ldap做單點登錄,在這裡記錄一下。

keycloak有自己的數據庫,也可以使用外部數據庫,我們使用的是mysql5.7

 

第一步 docker安裝mysql

  1.拉取鏡像

docker pull mysql:latest

  2.安裝

docker run --name mysql_aoh -p 3306:3306 --privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 -d \
-v /mydata/mysql_aoh/data:/var/lib/mysql \
-v /mydata/mysql_aoh/mysql-files:/var/lib/mysql-files \
-v /mydata/mysql_aoh/conf/my.cnf:/etc/mysql/my.cnf \
mysql:5.7 --lower_case_table_names=1

  3.創建keycloak數據庫

 

 

 

 

 

 

 

   4.keycloak下創建一個用戶,賬號密碼都設置為keycloak

 

 

 

 

 

 

 

 

 

   5.給keycloak用戶添加權限

 

 

 

 

選擇keycloak用戶,然後添加所有的權限

 

 

 

 

 保存之後是這個樣子

 

 

  

 

第二步 docker安裝keycloak

   1.創建網絡

docker network create keycloak-network

  

  2.创建数据库,使用mysql5.7

          如果存在数据库,则把数据库添加到网络keycloak-network。

docker network connect keycloak-network <mysql容器名称>

  3.拉取keycloak像

docker pull jboss/keycloak:13.0.0

  4.運行keycloak,端口號可自行修改,我這裡用的是10001

docker run -d --name keycloak \
--network keycloak-network \
-p 10001:8080 \
-e KEYCLOAK_USER=admin \
-e KEYCLOAK_PASSWORD=admin \
-e DB_VENDOR=mysql \
-e DB_ADDR=mysql_aoh \
-e DB_PORT=3306 \
-e DB_DATABASE=keycloak \
-e DB_USER=keycloak \
-e DB_PASSWORD=keycloak \
-e JDBC_PARAMS='connectTimeout=90&useSSL=false' \
-v /etc/localtime:/etc/localtime \
jboss/keycloak:13.0.0

  運行的過程可以查看keycloak的日誌信息,假如有報錯,根據報錯進行修改

docker logs -f -t keycloak

  5.修改數據庫表中的一條數據

假如以上沒有報錯,我們會發現數據庫中出現了許多表

 

 

 

update REALM set ssl_required='NONE' where id = 'master'

  之後重啟keycloak

docker restart keycloak

  等重啟完成之後,瀏覽器就可以訪問keycloak了。賬號和密碼都是admin

localhost:10001

 

 

可以自定義主題,在網上搜索一下有教程。本人不會。

keycloak集成ldap的話我參考的是

https://blog.csdn.net/qq_36382225/article/details/103974119

  

 

posted on 2021-06-22 21:58  謙謙  阅读(537)  评论(0)    收藏  举报

导航