首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keycloak 18.0附Postgres 10.21

Keycloak 18.0附Postgres 10.21
EN

Stack Overflow用户
提问于 2022-06-06 04:02:35
回答 2查看 2.1K关注 0票数 3

我试着用postgres 10.21运行Keycloak 18

这是我的码头作曲

代码语言:javascript
复制
version: "3.5"

services:

  keycloaksvc:
    image: quay.io/keycloak/keycloak:18.0
    user: '1000:1000'
    container_name: "testkc"
    environment:
      - DB_VENDOR=postgres
      - DB_ADDR=postgressvc
      - DB_DATABASE=keycloak
      - DB_PORT=5432
      - DB_SCHEMA=public
      - DB_USER=KcUser
      - DB_PASSWORD=KcPass
      - KC_HOSTNAME=localhost
      - ROOT_LOGLEVEL=DEBUG
      - PROXY_ADDRESS_FORWARDING=true
      - REDIRECT_SOCKET=proxy-https
      - KEYCLOAK_LOGLEVEL=DEBUG
      - KEYCLOAK_ADMIN=admin
      - KEYCLOAK_ADMIN_PASSWORD=testing

    volumes:
       - ./ssldir:/etc/x509/https
       - "/etc/timezone:/etc/timezone:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/etc/passwd:/etc/passwd:ro"
       - ./kcthemes:/opt/keycloak/themes

    entrypoint: /opt/keycloak/bin/kc.sh start --auto-build  --hostname-strict-https=false  --http-relative-path=/auth --features=token-exchange  --https-certificate-file=/etc/x509/https/tls.crt --https-certificate-key-file=/etc/x509/https/tls.key
    network_mode: "host"
    depends_on:
      - postgressvc



  postgressvc:
    image: postgres:10.21-alpine
    user: '1000:1000'
    container_name: "kc_postgres"
    environment:
      - POSTGRES_DB=keycloak
      - POSTGRES_USER=KcUser
      - POSTGRES_PASSWORD=KcPass
    volumes:
      - ./pgdta:/var/lib/postgresql/data
      - "/etc/timezone:/etc/timezone:ro"
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/passwd:/etc/passwd:ro"
    network_mode: "host"

它运行良好,我可以访问管理控制台https://localhost:8443/auth/admin

我还可以添加新的领域和用户。然而,我在postgres没有看到任何数据。如果我更改了docker-组合文件并重新启动,那么所有的域和用户都会丢失。

完全相同的postgres设置与图像运行良好: jboss/keycloak:16.1.1

我丢失了什么装置的钥匙斗篷18?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-06 08:51:43

来自第17版的密钥披风有很大的变化(它是基于Quarkus的),而且配置也已经改变了。所以不要使用配置,它正在使用Keycoak 16,但是要检查当前的Keycloak文档,例如https://www.keycloak.org/server/containers

您会发现DB env变量现在是:

代码语言:javascript
复制
KC_DB_URL,KC_DB_USERNAME,KC_DB_PASSWORD,...

另外,其他env变量也已被更改,因此它不仅涉及DB env变量。

票数 3
EN

Stack Overflow用户

发布于 2022-10-24 11:27:59

我也面临着同样的问题,键盘斗篷v19.0.0。它在内存中存储数据。但是在下面的配置中,可以在postgres中存储数据。

代码语言:javascript
复制
keycloak:
    container_name: keycloak
    environment:
      KC_DB: postgres
      KC_DB_URL: jdbc:postgresql://localhost:5432/keycloak
      KC_DB_USERNAME: postgres
      KC_DB_PASSWORD: user
      KEYCLOAK_ADMIN: admin
      KEYCLOAK_ADMIN_PASSWORD: admin
      KC_HOSTNAME_STRICT: false
      KC_EDGE: proxy
    ports:
      - 8080:8080
    image: quay.io/keycloak/keycloak:19.0.0
    network_mode: host
    depends_on:
      - postgres
    command:
      - start-dev --auto-build
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72512938

复制
相关文章

相似问题

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