Включите мелкозернистую блокировку ключей с помощью docker

#docker #keycloak

Вопрос:

Я настроил блокировку ключей с помощью docker, моя проблема в том, что мне нужно внести некоторые изменения в клиенты, для которых требуется включение тонкой настройки. Я прочитал документацию и знаю, что должен использовать параметр -Dkeycloak.profile=preview или -Dkeycloak.profile.feature.admin_fine_grained_authz=enabled . Моя проблема в том, что я пытался использовать это в своей команде выполнения docker, но безуспешно

 docker run --rm 
  --name keycloak 
  -p 80:8080 
  -e KEYCLOAK_USER=admin 
  -e KEYCLOAK_PASSWORD=[adminPass] 
  -e PROXY_ADDRESS_FORWARDING=true  
  -e DB_VENDOR=MYSQL 
  -e DB_ADDR=[SQL_Server] 
  -e DB_DATABASE=keycloak 
  -e DB_USER=[DBUSER] 
  -e DB_PASSWORD=[DB_PASS] 
  -e JDBC_PARAMS=useSSL=false 
  -e -Dkeycloak.profile.feature.admin_fine_grained_authz=enabled 
  jboss/keycloak  
 

какая-нибудь помощь?

Ответ №1:

Это задокументировано в файле readme изображения Docker https://hub.docker.com/r/jboss/keycloak

Дополнительные параметры запуска сервера (расширение JAVA_OPTS) можно настроить с помощью переменной среды JAVA_OPTS_APPEND.

Так что в вашем случае:

 -e JAVA_OPTS_APPEND="-Dkeycloak.profile=preview"
 

Ответ №2:

Думаю, вам, возможно, потребуется передать переменные среды в JVM при запуске Wildfly, содержащего ВОЙНУ ключей. Существует сценарий оболочки runner, который запускается при запуске контейнера. Вам нужно добавить свои переменные среды в этот вызов.

Комментарии:

1. Я не очень хорошо знаком с докером, я просто следовал инструкциям на докере от hub.docker.com/r/jboss/keycloak . как мне это отредактировать?

2. Янс анвер прав. Возьмите верхний подход.