如何通过环境变量为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
相关产品推荐
相关产品推荐

