【发布时间】:2022-12-15 05:48:21
【问题描述】:
钥匙斗篷版本:20.0.1
Docker版本:20.10.12
Docker-Compose 版本:2.2.2
Github问题:https://github.com/keycloak/keycloak/issues/15898
问题
我喜欢从 MariaDB 数据库导出 Keycloak 数据, 但这是不可能的。
我使用的来源是:https://www.keycloak.org/server/importExport
导出命令export只接受一个 H2 数据库 URL,甚至我已经使用适当的数据库供应商创建了一个构建。我在执行导出之前创建了一个新版本:build --db=mariadb
如果我尝试这样做,则会显示错误从 MariaDB 数据库中导出 Keycloak 数据.
错误是:
Datasource '<default>': URL format error; must be "jdbc:h2:{ {.|mem:}[name] | [file:]fileName | {tcp|ssl}:[//]server[:port][,server2[:port]]/name }[;key=value...]" but is "jdbc:mariadb://db.my-domain.de:3306/keycloak"
预期行为
预期的行为是,export 命令接受像 jdbc:mariadb:... 这样的 MariaDB 数据库 URL。
实际行为
实际行为是,即使我之前执行过build --db=mariadb,export 命令也只接受像jdbc:h2:... 这样的H2 数据库-URL。
此外,show-config 命令显示 kc.db = mariadb (KcEnvVarConfigSource) 不是。
如何重现
version: '3.9'
services:
keycloak-export:
container_name: keycloak-export
image: quay.io/keycloak/keycloak:latest
environment:
KC_HOSTNAME: login.my-domain.com
KC_HOSTNAME_STRICT_HTTPS: true
KC_HTTP_ENABLED: false
KC_PROXY: edge
KC_DB: mariadb
KC_DB_URL_HOST: db.my-domain.com
KC_DB_URL_DATABASE: keycloak
KC_DB_URL_PORT: 3306
KC_DB_USERNAME: ***
KC_DB_PASSWORD: ***
KC_HTTPS_KEY_STORE_FILE: /keystore.p12
KC_HTTPS_KEY_STORE_PASSWORD: ***
command:
- export --dir /export_data
volumes:
- ./keystore.p12:/keystore.p12
- ./export_data:/export_data
restart: "no"
附加信息
在生产模式下,Keycloak-Server 基于这个 Docker Compose 文件连接到 MariaDB-Database-Server:
version: '3.9'
services:
keycloak:
container_name: keycloak
image: quay.io/keycloak/keycloak:latest
environment:
KC_HOSTNAME: login.my-domain.de
KC_HOSTNAME_STRICT_HTTPS: true
KC_HTTP_ENABLED: false
KC_PROXY: edge
KC_DB: mariadb
KC_DB_URL_HOST: db.my-domain.de
KC_DB_URL_DATABASE: keycloak
KC_DB_URL_PORT: 3306
KC_DB_USERNAME: ***
KC_DB_PASSWORD: ***
KC_HTTPS_KEY_STORE_FILE: /keystore.p12
KC_HTTPS_KEY_STORE_PASSWORD: ***
KEYCLOAK_ADMIN: ***
KEYCLOAK_ADMIN_PASSWORD: ***
KC_TRANSACTION_XA_ENABLED: true
KC_HEALTH_ENABLED: true
KC_METRICS_ENABLED: true
command:
- start
ports:
- 8080:8080
volumes:
- ./keystore.p12:/keystore.p12
restart: always
【问题讨论】:
标签: docker jdbc docker-compose mariadb keycloak