如何使用 docker 在 keycloak 服务器中加载初始领域?
How to load initial realm in keycloak server with docker?
我正在启动一个 keycloak
服务器并想让服务器导入一个默认领域(对于启动)。但即使这样也行不通:
/tmp/example-realm.json
:
{
"realm": "springboot-quickstart",
"enabled": true,
"sslRequired": "external",
"registrationAllowed": true,
"requiredCredentials": [ "password" ],
"clients": [
{
"clientId": "service-springboot",
"enabled": true,
"bearerOnly": true,
"protocol": "openid-connect"
}
]
}
开始于:
docker run -p 8180:8080
-e KEYCLOAK_ADMIN=admin
-e KEYCLOAK_ADMIN_PASSWORD=admin
-e KEYCLOAK_IMPORT=/tmp/example-realm.json
-v /tmp/example-realm.json:/tmp/example-realm.json
quay.io/keycloak/keycloak:17.0.0 start-dev
结果:只有 master
领域存在,但我导入的领域丢失了。
相反,当我转到 keycloak 的管理页面并手动导入该文件时,客户端“springboot-quickstart”成功导入到我的master
领域.所以 json 文件一般来说应该没问题。
那么为什么这在初始启动时不起作用?
我可以按如下方式修复它:
-e JAVA_OPTS="-Dkeycloak.import=/tmp/example-realm.json"
但我还是想知道为什么 -e KEYCLOAK_IMPORT
不起作用。
这似乎是 17.0.0 中的一个错误,但将在 17.0.1 中修复。
我正在启动一个 keycloak
服务器并想让服务器导入一个默认领域(对于启动)。但即使这样也行不通:
/tmp/example-realm.json
:
{
"realm": "springboot-quickstart",
"enabled": true,
"sslRequired": "external",
"registrationAllowed": true,
"requiredCredentials": [ "password" ],
"clients": [
{
"clientId": "service-springboot",
"enabled": true,
"bearerOnly": true,
"protocol": "openid-connect"
}
]
}
开始于:
docker run -p 8180:8080
-e KEYCLOAK_ADMIN=admin
-e KEYCLOAK_ADMIN_PASSWORD=admin
-e KEYCLOAK_IMPORT=/tmp/example-realm.json
-v /tmp/example-realm.json:/tmp/example-realm.json
quay.io/keycloak/keycloak:17.0.0 start-dev
结果:只有 master
领域存在,但我导入的领域丢失了。
相反,当我转到 keycloak 的管理页面并手动导入该文件时,客户端“springboot-quickstart”成功导入到我的master
领域.所以 json 文件一般来说应该没问题。
那么为什么这在初始启动时不起作用?
我可以按如下方式修复它:
-e JAVA_OPTS="-Dkeycloak.import=/tmp/example-realm.json"
但我还是想知道为什么 -e KEYCLOAK_IMPORT
不起作用。
这似乎是 17.0.0 中的一个错误,但将在 17.0.1 中修复。