mysql - 在 docker 上使用 MySql 运行 Keycloak - 无法启动
问题描述
我正在尝试启动一个使用自定义 mysql 数据库的 Keycloak 实例。之前使用的是mariadb数据库,但是需要迁移到mysql。这是 docker-compose.yml 文件:
version: "3.6"
services:
vnfm-keycloak:
container_name: sample-keycloak
image: quay.io/keycloak/keycloak:latest
restart: always
ports:
- 8180:8080
environment:
PROXY_ADDRESS_FORWARDING: "true"
DB_VENDOR: MYSQL
DB_ADDR: 152.25.100.2
DB_DATABASE: keycloak
DB_USER: user
DB_PASSWORD: password
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
networks:
- database_static-network
networks:
database_static-network:
external: true
使用 mariadb 开始时DB_VENDOR: mariadb
. 我将其更改为DB_VENDOR: MYSQL
.
我确保在 mysql 中创建数据库和用户,并为用户提供数据库的权限。随着 mysql 的启动和运行,我启动了 keycloak docker 来连接和创建的表,这些表是由于在 keycloak 数据库中执行这个过程而创建的。但服务无法启动,出现以下错误:
vnfm-keycloak | 03:44:27,583 ERROR [org.jboss.as.server] (ServerService Thread Pool -- 46) WFLYSRV0022: Deploy of deployment "keycloak-server.war" was rolled back with no failure message
vnfm-keycloak | 03:44:27,672 INFO [org.jboss.as] (MSC service thread 1-5) WFLYSRV0050: Keycloak 12.0.4 (WildFly Core 13.0.3.Final) stopped in 742ms
vnfm-keycloak | 03:44:27,671 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0403: Unexpected failure during execution of the following operation(s): [{
vnfm-keycloak | "address" => [
vnfm-keycloak | ("core-service" => "management"),
vnfm-keycloak | ("security-realm" => "ManagementRealm")
vnfm-keycloak | ],
vnfm-keycloak | "operation" => "add",
vnfm-keycloak | "map-groups-to-roles" => false
vnfm-keycloak | }, {
vnfm-keycloak | }]: java.util.concurrent.RejectedExecutionException
vnfm-keycloak | at org.jboss.threads@2.4.0.Final//org.jboss.threads.RejectingExecutor.execute(RejectingExecutor.java:37)
vnfm-keycloak | at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.rejectShutdown(EnhancedQueueExecutor.java:2029)
vnfm-keycloak | at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.execute(EnhancedQueueExecutor.java:757)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.notification.NotificationSupports$NonBlockingNotificationSupport.emit(NotificationSupports.java:95)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.OperationContextImpl.notifyModificationsComplete(OperationContextImpl.java:505)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.OperationContextImpl.releaseStepLocks(OperationContextImpl.java:1233)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.AbstractOperationContext$Step.finalizeInternal(AbstractOperationContext.java:1503)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1461)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.AbstractOperationContext$Step.access$400(AbstractOperationContext.java:1325)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.AbstractOperationContext.executeResultHandlerPhase(AbstractOperationContext.java:877)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:757)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:468)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1415)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.ModelControllerImpl.boot(ModelControllerImpl.java:529)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:515)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:477)
vnfm-keycloak | at org.jboss.as.server@13.0.3.Final//org.jboss.as.server.ServerService.boot(ServerService.java:451)
vnfm-keycloak | at org.jboss.as.server@13.0.3.Final//org.jboss.as.server.ServerService.boot(ServerService.java:404)
vnfm-keycloak | at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:416)
vnfm-keycloak | at java.base/java.lang.Thread.run(Thread.java:829)
vnfm-keycloak | Suppressed: java.util.concurrent.RejectedExecutionException: Executor is being shut down
vnfm-keycloak | at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.rejectShutdown(EnhancedQueueExecutor.java:2031)
vnfm-keycloak | ... 18 more
解决方案
推荐阅读
- laravel - 将数组值映射到项目集合
- r - 如何结合不同调查的结果?
- javascript - 如何使用从数据库或变量中查询的模板文字?
- es6-modules - 如何将一个 ES6 模块存储在多个文件中?
- java - 骆驼交换为多部分请求提供空附件
- javascript - JS防止焦点上闪烁的输入边框
- html - 使用 Bootstrap 4 在移动设备上定位导航栏图标?
- react-native - 无法使用导航和多个 StackNavigators 传递参数
- python - python-pptx:处理受密码保护的 PowerPoint 文件
- acumatica - 如何从自定义屏幕将值传递给确认弹出窗口