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

KeyCloak Docker容器启动报错:未知选项--optimized的问题求助

解决Keycloak启动报错"Unknown option: '--optimized'"的问题

1. 立即修复启动命令

直接移除--optimized参数,新版本Keycloak(21.x及以上)已废弃该选项,启动时默认采用优化模式。修正后的启动命令:

docker run --name keycloakNew -p 8448:8443 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin my-keycloak-image start

2. 适配新版本的Dockerfile调整

原Dockerfile存在命令截断问题,同时需适配新版本构建逻辑,修正后的完整Dockerfile:

FROM quay.io/keycloak/keycloak:latest as builder

# 启用健康检查和指标支持
ENV KC_HEALTH_ENABLED=true
ENV KC_METRICS_ENABLED=true
# 指定数据库类型
ENV KC_DB=mysql

WORKDIR /opt/keycloak

# 生成自签名证书(仅用于测试,生产环境请使用正式证书)
RUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname "CN=server" -alias server -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -keystore conf/server.keystore

# 执行构建
RUN /opt/keycloak/bin/kc.sh build

FROM quay.io/keycloak/keycloak:latest
COPY --from=builder /opt/keycloak/ /opt/keycloak/

# 配置MySQL连接信息
ENV KC_DB_URL=jdbc:mysql://localhost:3306/keyCloak
ENV KC_DB_USERNAME=root
ENV KC_DB_PASSWORD=root
ENV KC_HOSTNAME=localhost

# 启动命令(生产环境用start,开发环境可替换为start-dev)
ENTRYPOINT ["/opt/keycloak/bin/kc.sh"]
CMD ["start"]

3. 额外说明

  • 开发环境调试可将启动命令改为start-dev,它会自动启用热部署并输出更详细的日志
  • 生产环境务必替换自签名证书为受信任的SSL证书,避免安全风险
  • 新版本Keycloak的配置项可通过kc.sh start --help查看,确保所有参数适配当前版本

内容的提问来源于stack exchange,提问作者Takis Paras

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 19:58:21