You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署Keycloak 16时默认${jboss.server.data.dir}路径是多少

Keycloak 16官方Docker镜像${jboss.server.data.dir}默认路径

Keycloak 16官方Docker镜像中,${jboss.server.data.dir}对应的实际绝对路径为/opt/jboss/keycloak/standalone/data。

将黑名单文件放在/opt/jboss/keycloak/standalone/data/password-blacklists/路径下仍提示文件找不到,通常是以下几个原因导致:

  • 权限不匹配:容器内Keycloak进程以UID 1000的jboss用户身份运行,创建/挂载的password-blacklists目录及内部黑名单文件,必须配置为jboss用户可读,否则服务会直接判定文件不存在
  • 目录层级错误:黑名单文件需要直接放在password-blacklists目录下,不要额外嵌套子文件夹
  • 文件名配置错误:控制台配置Password Blacklist策略时,只需要填写黑名单文件名,不需要写全路径

如果需要验证当前运行实例的实际变量值,可以直接在宿主机执行以下命令查询:

docker exec -it <你的Keycloak容器名称> /opt/jboss/keycloak/bin/jboss-cli.sh --commands="echo \$jboss.server.data.dir"

命令输出的路径就是实例实际生效的数据目录路径。

正确配置密码黑名单的参考步骤

  1. 提前在宿主机准备好黑名单文件,要求每行一个弱密码,比如命名为common-passwords.txt
  2. 启动容器时直接将黑名单文件挂载到对应路径,示例启动命令片段:
docker run -d \
  -p 8080:8080 \
  -v /your/local/path/common-passwords.txt:/opt/jboss/keycloak/standalone/data/password-blacklists/common-passwords.txt \
  jboss/keycloak:16.1.1
  1. 登录Keycloak管理控制台,进入对应Realm的Authentication > Policies > Password Policy页面,添加Password Blacklist策略,配置项中直接填写黑名单文件名common-passwords.txt保存即可。

注意:/opt/jboss/keycloak/是Keycloak的安装根目录,对应变量为${jboss.home.dir},服务不会从该路径下扫描密码黑名单文件,不要把黑名单放在这个根目录下。

内容的提问来源于stack exchange,提问作者Mr. Diba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 00:18:24