我想用下面的 docker compose 文件运行 keycloak 容器。
version: '2.1'
services:
# keycloak
keycloak:
container_name: keycloak
image: jboss/keycloak:latest
restart: always
ports:
- 8080:8080
volumes:
- C:\logs\keycloak:/usr/app/logs
- C:\settings:/etc/settings
environment:
- KEYCLOAK_USER=admin
- KEYCLOAK_PASSWORD=admin
- KEYCLOAK_IMPORT=/etc/settings/realm.json
在这种情况下,除了 realm import 之外的一切都可以正常工作。 这是容器运行期间抛出的错误的快捷方式:
Caused by: java.lang.RuntimeException: RESTEASY003325: Failed to construct public org.keycloak.services.resources.KeycloakApplication(javax.servlet.ServletContext,org.jboss.resteasy.core.Dispatcher) Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: /etc/settings/realm.json (Is a directory) Caused by: java.io.FileNotFoundException: /etc/settings/realm.json (Is a directory)"}`
我确定该文件存在于此位置。
我已经检查了几种不同的导入配置,例如specyfing 导入文件:C:\settings\realm.json:/etc/settings/realm.json
但结果是一样的。
您知道正确的配置应该是什么样子吗?
最佳答案
我遇到了同样的问题。这是因为我试图使用相对路径安装卷。我通过用绝对路径替换所有相对路径来解决它。
关于java - Keycloak docker 容器无法从卷导入领域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53189281/