首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keycloak‘<默认>’:致命:角色“"keycloak”不存在

Keycloak‘<默认>’:致命:角色“"keycloak”不存在
EN

Stack Overflow用户
提问于 2022-02-22 21:14:21
回答 1查看 989关注 0票数 0

我用podman在吊舱里用postgres启动了一件钥匙斗篷。为此,我使用了GitLab。创建的postgres没有角色键时钟。我使用了来自https://www.keycloak.org/server/containers的正式Dockerfile,并作了如下修改:

代码语言:javascript
复制
    ENV KC_FEATURES=token-exchange
    ENV KC_DB=postgres
    RUN /opt/keycloak/bin/kc.sh build
    
    FROM quay.io/keycloak/keycloak:latest
    COPY --from=builder /opt/keycloak/lib/quarkus/ /opt/keycloak/lib/quarkus/
    WORKDIR /opt/keycloak
    # for demonstration purposes only, please make sure to use proper certificates in production instead
    RUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname "CN=server" -alias server -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -keystore conf/server.keystore
    ENV KEYCLOAK_ADMIN=admin
    ENV KC_DB_URL=jdbc:postgresql://localhost/keycloak
    # change these values to point to a running postgres instance
    ENV KC_DB_USERNAME=${DB_USERNAME}
    ENV KC_DB_PASSWORD=${DB_PASS}
    ENV KEYCLOAK_ADMIN_PASSWORD=${KC_ADMIN_PASS}
    ENV KC_HOSTNAME=https://localhost:8443
    EXPOSE 8443
    ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start"]

and the yml file is:

    stages:
  - build

build_pod:
  tags:
    - auth-runner
  stage: build
  script:
    - podman pod rm -i -f user-authentification
    - podman pod create --name user-authentification -p 9175:8443
  only:
    - main
build_db:
  image: postgres:14
  tags:
    - auth-runner
  stage: build
  script:
    - podman run -dt --name postgres --pod user-authentification -v ~/postgres-data:/var/lib/postgresql/data:z
      -e POSTGRES_DB="$KEYCLOAK_DB_NAME" -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD="$KEYCLOAK_DB_PASS" postgres
  only:
    - main
build_keycloak:
  tags:
    - auth-runner
  stage: build
  script:
    - podman build --build-arg DB_USERNAME=postgres --build-arg DB_PASS=$KEYCLOAK_DB_PASS --build-arg KC_ADMIN_PASS=$KEYCLOAK_ADMIN_PASS -t sdx-keycloak .
    - podman run -dt --name sdx-keyclaok-container --pod user-authentification sdx-keycloak
  only:
      - main

postgres错误:

代码语言:javascript
复制
2022-02-22 21:08:45.800 UTC [1] LOG:  starting PostgreSQL 14.2 (Debian 14.2-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2022-02-22 21:08:45.801 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2022-02-22 21:08:45.801 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2022-02-22 21:08:45.803 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2022-02-22 21:08:45.808 UTC [26] LOG:  database system was shut down at 2022-02-22 21:08:40 UTC
2022-02-22 21:08:45.815 UTC [1] LOG:  database system is ready to accept connections
2022-02-22 21:08:54.605 UTC [33] FATAL:  role "keycloak" does not exist
2022-02-22 21:08:57.867 UTC [34] FATAL:  role "keycloak" does not exist

密钥披风错误:

代码语言:javascript
复制
    2022-02-23 08:03:49,005 INFO  [org.keycloak.common.Profile] (main) Preview feature enabled: token_exchange
2022-02-23 08:03:49,025 INFO  [org.keycloak.quarkus.runtime.hostname.DefaultHostnameProvider] (main) Hostname settings: FrontEnd: https://localhost:8443, Strict 

HTTPS: true, Path: <request>, Strict BackChannel: false, Admin: <request>
2022-02-23 08:03:49,561 WARN  [io.agroal.pool] (agroal-11) Datasource '<default>': FATAL: role "keycloak" does not exist
2022-02-23 08:03:49,562 WARN  [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator] (JPA Startup Thread: keycloak-default) HHH000342: Could not obtain connection to query metadata: org.postgresql.util.PSQLException: FATAL: role "keycloak" does not exist
EN

回答 1

Stack Overflow用户

发布于 2022-02-23 09:10:37

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71228379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档