Keycloak docker 容器无法从卷导入领域

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但结果是一样的。您知道正确的配置应该是什么样子吗?

Zeb*_*usz 0

已解决\n错误可能描述如下。\n错误:文件被安装为目录或安装的目录为空。\n原因:操作系统密码更改。\n解释:Docker 无法访问其工作的系统上的文件,毕竟是虚拟机,由于system\xe2\x80\x99s密码更改。它也不会通知访问文件系统失败,只是以无效的方式显示挂载的目录。

\n\n

更新\n所以我的问题是系统密码 - Windows 已更改,并且 docker 中的凭据未更新。因为不久前我不再记得如何更改 docker 中保存的凭据,我记得在 UI 中很容易,但我知道这就是解决方案 - 更新 docker 存储的系统凭据。

\n