docker 如何通过RHSSO 7的环境变量设置Keycloak数据源,6图像

b4qexyjb  于 2023-04-29  发布在  Docker
关注(0)|答案(1)|浏览(112)

我目前正在使用RH-SSO 7。6在地方发展中的形象。使用标准的Keycloak镜像,我可以使用适当的环境变量配置DB连接到我的自定义Postgres数据库,但我无法使用RH-SSO镜像达到相同的效果。在这种情况下,Keycloak默认连接到H2数据库。
到目前为止,我试图查看Openshift RH-SSO-76模板以检查确切的ENV来设置DB连接,最后我使用了以下docker-compose。此外,我正在从Dockerfile构建我的自定义镜像(添加自定义提供程序,主题等)。)

docker-compose

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文档RHSSO Openshift Doc编辑JBoss配置,但是当我尝试从子系统中删除数据源(KeycloakDS)时,我得到了一个错误,KeycloakDS未找到。
所以我的问题是,是否可以通过ENV设置Keycloak数据源,如果不可以,如何在从RHSSO 7构建自定义映像时自动更改JBoss配置。6图像。
谢谢你的任何建议。

kwvwclae

kwvwclae1#

尝试在以下环境中配置它:

environment:
  - SSO_ADMIN_USERNAME=admin
  - SSO_ADMIN_PASSWORD=admin
  - DB_SERVICE_PREFIX_MAPPING=SSO_POSTGRESQL=SSODB
  - TX_DATABASE_PREFIX_MAPPING=SSO_POSTGRESQL=SSODB
  - SSO_POSTGRESQL_SERVICE_HOST=postgres
  - SSO_POSTGRESQL_SERVICE_PORT='5432'
  - SSODB_DATABASE=keycloak
  - SSODB_USERNAME=keycloak
  - SSODB_PASSWORD=password
  - SSODB_DRIVER=postgresql
  - SSODB_SERVICE_HOST=postgres
  - SSODB_SERVICE_PORT='5432'
  - SSODB_JNDI='java:jboss/datasources/KeycloakDS'
  - SSODB_URL=jdbc:postgresql://postgres:5432/keycloak

保重!

相关问题