Zeb*_*usz 5 java docker keycloak
我想用下面的 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
Run Code Online (Sandbox Code Playgroud)
在这种情况下,除了领域导入之外的所有内容都可以正常工作。这是容器运行期间抛出的错误的快捷方式:
导致:java.lang.RuntimeException: RESTEASY003325: 无法构建公共 org.keycloak.services.resources.KeycloakApplication(javax.servlet.ServletContext,org.jboss.resteasy.core.Dispatcher) 导致:java.lang.RuntimeException: java.io.FileNotFoundException: /etc/settings/realm.json (Is a directory) 引起:java.io.FileNotFoundException: /etc/settings/realm.json (Is a directory)"}`
我确定该文件存在于该位置。我已经检查了几种不同的导入配置,例如 specyfing 导入的文件:C:\settings\realm.json:/etc/settings/realm.json但结果是一样的。您知道正确的配置应该是什么样子吗?
已解决\n错误可能描述如下。\n错误:文件被安装为目录或安装的目录为空。\n原因:操作系统密码更改。\n解释:Docker 无法访问其工作的系统上的文件,毕竟是虚拟机,由于system\xe2\x80\x99s密码更改。它也不会通知访问文件系统失败,只是以无效的方式显示挂载的目录。
\n\n更新\n所以我的问题是系统密码 - Windows 已更改,并且 docker 中的凭据未更新。因为不久前我不再记得如何更改 docker 中保存的凭据,我记得在 UI 中很容易,但我知道这就是解决方案 - 更新 docker 存储的系统凭据。
\n