Jhipster KeyClope Docker compose:禁用表覆盖

Jhipster KeyClope Docker compose:禁用表覆盖,jhipster,keycloak,Jhipster,Keycloak,我正在尝试使用docker compose设置KeyClope: version: '2' services: keycloak: image: jboss/keycloak:9.0.0 command: [ '-b', '0.0.0.0', '-Dkeycloak.migration.action=import', '-Dkeycloak.migration.provider=dir',

我正在尝试使用docker compose设置KeyClope:

version: '2'
services:
  keycloak:
    image: jboss/keycloak:9.0.0
    command:
      [
        '-b',
        '0.0.0.0',
        '-Dkeycloak.migration.action=import',
        '-Dkeycloak.migration.provider=dir',
        '-Dkeycloak.migration.dir=/opt/jboss/keycloak/realm-config',
        '-Dkeycloak.migration.strategy=IGNORE_EXISTING',
        '-Djboss.socket.binding.port-offset=1000',
        '-Djboss.as.management.blocking.timeout=1000',
        '-Dkeycloak.profile.feature.upload_scripts=enabled'
      ]
    volumes:
      - ./realm-config:/opt/jboss/keycloak/realm-config
    environment:
      - KEYCLOAK_USER=admin
      - KEYCLOAK_PASSWORD=admin
      - DB_VENDOR=MYSQL
      - DB_ADDR=testmysqldb.mysql.database.azure.com
      - DB_USER=testuser
      - DB_PASSWORD=testpassword
      - DB_DATABASE=keycloak
    ports:
      - 9080:9080
      - 9443:9443
      - 10990:10990
设置所有表需要很长时间,但最终创建了表。然而,我在一段时间后得到了jboss启动的超时时间。尝试重新启动容器时,出现以下错误:

错误[org.keydepot.connections.jpa.updater.liquibase.conn.DefaultLiquibaseConnectionProvider](服务器服务线程池--68)更改集META-INF/jpa-changelog-authz-4.0.0.CR1.xml::authz-4.0.0.CR1::psilva@redhat.com失败。错误:表'resource\u server\u perm\u ticket'已存在[失败的SQL:创建表keydape\u new.resource\u server\u perm\u ticket(ID VARCHAR(36)不为NULL,所有者VARCHAR(36)不为NULL,请求者VARCHAR(36)不为NULL,创建的时间戳BIGINT不为NULL,授予的时间戳BIGINT为NULL,资源ID VARCHAR(36)不为NULL,范围ID VARCHAR(36)NULL,资源\服务器\ ID VARCHAR(36)非NULL)] 15:08:40541致命[org.keydepot.services](ServerService线程池--68)java.lang.RuntimeException:无法更新数据库


我找不到解决这个错误的方法。基本上,一旦表存在,我希望keybeave不会试图覆盖它们。我肯定我这里缺少配置。有人能帮我吗?

最后,我通过在独立模式下运行KeyClope解决了这个问题。它创建的数据库结构没有任何超时问题。 一旦创建了数据库,我就以docker模式启动KeyClope并连接到外部数据库。开始时没有任何问题