我如何找到MariaDB URL与Keycloak一起使用?



我使用的是Keycloak 16。现在我想升级到Keycloak 20,我看到他们已经改变了很多。

这是我的docker-compose.yml文件从16:

version: "3.9"
services: 
accounts:
image: jboss/keycloak:latest
container_name: Accounts
ports: 
- 8080:8080
environment: 
- KEYCLOAK_FRONTEND_URL=https://accounts.example.local/auth
- PROXY_ADDRESS_FORWARDING=true
- KEYCLOAK_USER=user
- KEYCLOAK_PASSWORD=pass
- DB_VENDOR=mariadb
- DB_ADDR=database
- DB_DATABASE=accounts
- DB_USER=db_user
- DB_PASSWORD=db_pass
logging:
driver: none
restart: always
database:
image: mariadb
container_name: AccountsDatabase
ports:
- 3306:3306
environment:
- MARIADB_ROOT_PASSWORD=root_pass
- MYSQL_DATABASE=accounts
- MYSQL_USER=db_user
- MYSQL_PASSWORD=db_pass
volumes:
- /Temp/AccountsDatabases:/var/lib/mysql 
logging:
driver: none
restart: always
admin:
image: adminer
container_name: AccountsAdminer
restart: always
logging:
driver: none
ports:
- 8080:8080
environment:
- ADMINER_DEFAULT_SERVER=database      

现在看来Keycloak需要一个数据库URL。

我找不到如何将MariaDB连接到Keycloak。我找不到我的MariaDB URL的URL, Keycloak博客说他们不会提供任何数据库的示例,除了他们的第一类PostreSQL。

我在这一点上卡住了。如有任何帮助,不胜感激。

他们的文档显示KC_DB_URL是一个JDBC URL。

所以jdbc:mariadb://host/database的简单形式似乎在他们的测试中使用,所以对你来说:

environment: 
- KEYCLOAK_FRONTEND_URL=https://accounts.example.local/auth
- PROXY_ADDRESS_FORWARDING=true
- KEYCLOAK_USER=user
- KEYCLOAK_PASSWORD=pass
- KB_DB_URL=jdbc:mariadb://database/accounts
- KB_DB_USER=db_user
- KB_DB_PASSWORD=db_pass

注意:我希望/假设MariaDB的JDBC驱动程序在他们的容器中,它可能不是。

最新更新