Я создал свою область, ее пользователей и роли. Я хочу закрепить приложение с помощью Docker Compose. Итак, я создал образ Docker моего Java-приложения.
Но когда я захочу создать экземпляр Keycloak (извлекая образ Keyckloak из dockerhub), я потеряю свои постоянные области, пользователей и роли, которые я создал ранее, потому что это создает новый Keycloak из извлеченного образа докера. Как сохранить эти данные каждый раз, когда я запускаю приложение с помощью Docker Compose?
На самом деле мне нужно, чтобы данные Keycloak (области, пользователи и роли) инициализировались автоматически всякий раз, когда я запускаю Docker Compose.
Обновление:
Позвольте мне прояснить проблему.
Я хочу разместить коды на Github, и когда кто-нибудь получит и запустит их это (тщательное составление докера); используя предопределенные пользователи и пароли keycloak, используйте приложение. Проблема в том, что когда кто-то каждый раз запускает код с помощью Docker Compose, нет области, пользователей и ролей, потому что образ Keycloak извлекается и запускается без каких-либо данных (областей, пользователя и т. д.). На самом деле я не хочу, чтобы пользователи, запускающие приложение, определяли данные Keycloak (область, пользователь и т. д.). Я хочу, чтобы эти данные уже существовали в каждом запущенном приложении, чтобы пользователи могли войти в мое приложение и использовать его.
application.yml:
Код: Выделить всё
spring:
application:
name: my-client
security:
oauth2:
client:
registration:
myclientapp:
client-id: my-client-app
client-secret: secrectKey12345
scope: openid, profile, roles
authorization-grant-type: authorization_code
redirect-uri: http://localhost:8085/login/oauth2/code/myclientapp
provider:
myclientapp:
authorization-uri: http://localhost:8080/realms/myclientapp/protocol/openid-connect/auth
token-uri: http://localhost:8080/realms/myclientapp/protocol/openid-connect/token
jwk-set-uri: http://localhost:8080/realms/myclientapp/protocol/openid-connect/certs
user-info-uri: http://localhost:8080/realms/myclientapp/protocol/openid-connect/userinfo
user-name-attribute: preferred_username
Код: Выделить всё
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.2.5
com.my-client
client
0.0.1-SNAPSHOT
client
Demo project for Spring Client
17
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-oauth2-client
org.springframework.boot
spring-boot-starter-validation
org.springframework.boot
spring-boot-devtools
runtime
true
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
org.projectlombok
lombok
Подробнее здесь: https://stackoverflow.com/questions/787 ... en-using-d
Мобильная версия