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

mum43rcc  于 2022-12-23  发布在  其他
关注(0)|答案(1)|浏览(231)

我之前用的是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,the Keycloak blog说除了他们的第一个类PostreSQL之外,他们不会提供任何数据库的示例。
我被困在这里了。任何帮助都很感激。

iqxoj9l9

iqxoj9l91#

他们的文档显示KC_DB_URL是一个JDBC URL。
因此jdbc:mariadb://host/database的简单形式似乎用于their tests,因此对于您:

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驱动程序在他们的容器中,但它可能不在。

相关问题