You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过环境变量为RHSSO 7.6镜像配置Keycloak数据源

关于RH-SSO 7.6 配置外部PostgreSQL数据库的问题

背景

本地开发使用RH-SSO 7.6镜像时发现,标准Keycloak镜像可以通过环境变量配置自定义PostgreSQL数据库连接,但RH-SSO镜像不支持该方式,默认连接H2数据库。

我已查阅OpenShift RH-SSO 7.6模板确定数据库连接所需环境变量,编写了如下docker-compose配置,同时基于Dockerfile构建了自定义镜像(已添加自定义提供者、主题等):

version: '3.4' 

services:
  keycloak:
    build:
      context: .
      dockerfile: Dockerfile
    environment:
      - SSO_ADMIN_USERNAME=admin
      - SSO_ADMIN_PASSWORD=admin
      - DB_USERNAME=keycloak
      - DB_PASSWORD=password
      - DB_JNDI=java=jboss/datasources/KeycloakDS
      - DB_DRIVER_NAME=postgresql
      - DB_DRIVER=org.postgresql
      - DB_JDBC_URL=jdbc:postgresql://postgres/keycloak
    networks:
      - postgres-network
    ports:
      - "8080:8080"
      - "9990:9990"
      - "8787:8787"
    container_name: keycloak_rhsso

  postgres:
    image: postgres:9.6
    environment:
      - POSTGRES_DB=keycloak
      - POSTGRES_USER=keycloak
      - POSTGRES_PASSWORD=password
      - POSTGRES_ROOT_PASSWORD=password
    networks:
      - postgres-network
    ports:
      - "5432:5432"
    container_name: keycloak_db_rhsso

networks:
  postgres-network:
    driver: bridge

尝试操作

我曾尝试依据RH官方文档修改JBoss配置,但在尝试从子系统中移除数据源KeycloakDS时,出现“KeycloakDS未找到”的错误。

疑问

  • 是否可通过环境变量配置RH-SSO 7.6的Keycloak数据源?
  • 若上述方式不可行,基于RH-SSO 7.6镜像构建自定义镜像时,如何自动修改JBoss配置?

内容的提问来源于stack exchange,提问作者A.Cabb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 09:13:18