我正在使用 docker compose 文件运行 keycloak v8.0.0。我将数据保存到我在本地运行的 MySQL 数据库中。
version: '3'
services:
keycloak:
image: jboss/keycloak:8.0.0
ports:
- "9999:8080"
environment:
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: <ADMIN_PASSWORD>
DB_VENDOR: mysql
DB_ADDR: <HOST>
DB_PORT: <PORT>
DB_USER: <USER>
DB_PASSWORD: <PASSWORD>
JDBC_PARAMS: "useSSL=false"
volumes:
- "./realms:/tmp"
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下命令从正在运行的 docker 容器中导出一个领域。
docker exec -it kc /opt/jboss/keycloak/bin/standalone.sh \
-Djboss.socket.binding.port-offset=100 -Dkeycloak.migration.action=export \
-Dkeycloak.migration.provider=singleFile \
-Dkeycloak.migration.realmName=my_realm\
-Dkeycloak.migration.usersExportStrategy=REALM_FILE \
-Dkeycloak.migration.file=/tmp/my_realm-realm.json
Run Code Online (Sandbox Code Playgroud)
以下是运行上述命令时遇到的错误的堆栈跟踪。在这种情况下,当我运行上述命令时,keycloak 无法连接到数据库服务器,即 MySQL。这种场景下如何指定数据库连接配置?
16:30:04,000 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 65) MSC000001: Failed to start service jboss.deployment.unit."keycloak-server.war".undertow-deployment: org.jboss.msc.service.StartException in service jboss.deployment.unit."keycloak-server.war".undertow-deployment: java.lang.RuntimeException: RESTEASY003325: Failed to …Run Code Online (Sandbox Code Playgroud)