我试图在Docker容器中使用PostgreSQL作为数据库运行Keycloak,但遇到了一个配置错误,无法解决。
docker run --name mykeycloak -p 8080:8080 \
-e KEYCLOAK_ADMIN=admin \
-e KEYCLOAK_ADMIN_PASSWORD=admin \
-e DB_ADDR=localhost \
-e DB_PORT=5432 \
-e DB_DATABASE=wallet_realm \
-e DB_USER=postgres \
-e DB_PASSWORD=postgres \
quay.io/keycloak/keycloak:latest \
start \
--db=postgres \
--features=token-exchange \
--db-url=jdbc:postgresql://localhost:5432/wallet_realm \
--db-username=postgres \
--db-password=postgres
字符串
错误代码:无法运行“build”命令。错误:无法调用“io.smallrye.config.ConfigValue.withConfigSourceName(String)”,因为“org.keycloak.quarkus.runtime.configuration.mappers.PropertyMapper.transformValue”的返回值(字符串,java.util。可选,io.smallrye.config.ConfigSourceInterceptorContext)”为null有关详细信息,请运行相同的命令,并传递“--verbose”选项。此外,您可以使用“--帮助'查看有关特定命令用法的详细信息。
2条答案
按热度按时间2nc8po8w1#
这似乎是keycloak-23中的一个问题参见https://github.com/keycloak/keycloak/issues/25010
它是由使用--db-username参数引起的。
我绕过了它,在db-url参数中传递了用户名,这是用户oleastre在上面的帖子中建议的。
字符串
或者你使用kc-22直到有一个补丁。顺便说一句:keycloak环境变量现在以KC_.
blmhpbnm2#
我在本周从21.1.2更新到23.0.1时也遇到了同样的问题。之前,我在Dockerfile的CMD部分设置了--db-username参数。我删除了它,并在kubernetes.yaml中设置了KC_DB_USERNAME。现在它工作得很好!