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

Keycloak镜像docker-compose.yml中command传bash命令报错:Unknown option: 'bash'

问题解决:Keycloak Docker启动报错"Unknown option: 'bash'"

错误原因

quay.io/keycloak/keycloak镜像的默认ENTRYPOINT是/opt/keycloak/bin/kc.sh,你在command中指定的bash -c ...会被当成kc.sh的命令参数,而bash并不是kc.sh的合法选项,因此触发错误。

解决方案

方案1:覆盖ENTRYPOINT执行bash脚本

修改docker-compose.yml中Keycloak服务的配置,将entrypoint设为bash,让后续的command作为bash命令执行:

services:
  keycloak:
    image: quay.io/keycloak/keycloak:latest
    environment:
      - KC_DB_PASSWORD=i5QRJNRmD13q8TEghc2v
      - KC_PROXY=edge
      - KC_HTTP_ENABLED=true
      - KC_HOSTNAME_STRICT=false
      - KEYCLOAK_IMPORT=/opt/keycloak/data/import
    entrypoint: bash
    command: >
      -c "
      /opt/keycloak/bin/kc.sh build
      && /opt/keycloak/bin/kc.sh start --optimized --proxy edge --hostname-strict=false
      "
    depends_on:
      - database

方案2:简化命令,利用Keycloak自动构建逻辑

kc.sh start --optimized会自动检测是否需要执行build操作,无需手动调用。同时你已经通过环境变量配置了代理、hostname等参数,无需在command中重复指定:

services:
  keycloak:
    image: quay.io/keycloak/keycloak:latest
    environment:
      - KC_DB_PASSWORD=i5QRJNRmD13q8TEghc2v
      - KC_PROXY=edge
      - KC_HTTP_ENABLED=true
      - KC_HOSTNAME_STRICT=false
      - KEYCLOAK_IMPORT=/opt/keycloak/data/import
    command: start --optimized
    depends_on:
      - database

这个方案更简洁,符合Keycloak官方镜像的设计逻辑。

内容的提问来源于stack exchange,提问作者Ali Radan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 12:21:07