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

无法连接Azure容器实例中运行的Keycloak Docker镜像,如何执行start-dev命令?

解决Azure容器实例中Keycloak启动start-dev模式的问题

问题根源

你创建容器时未指定Keycloak的启动命令,默认镜像运行的是生产模式启动流程,而start-dev是开发模式专属启动命令,必须显式指定才能生效。另外Azure容器实例的交互式连接断开,通常是因为容器主进程未保持前台运行,或是连接方式的限制导致。

解决方案

1. 重新创建容器并指定start-dev命令

Azure容器实例创建后无法修改启动命令,需先删除现有实例,再重新创建并通过--command-line参数指定启动命令:

az container delete -g mygroup --name myname -y
az container create -g mygroup --name myname --image quay.io/keycloak/keycloak \
  --environment-variables 'KEYCLOAK_ADMIN'='admin' 'KEYCLOAK_ADMIN_PASSWORD'='admin' 'PROXY_ADDRESS_FORWARDING'='true' \
  --command-line "/opt/keycloak/bin/kc.sh start-dev"

注意:Keycloak 17+版本已弃用KEYCLOAK_PASSWORD环境变量,仅保留KEYCLOAK_ADMIN和KEYCLOAK_ADMIN_PASSWORD即可

2. 验证容器运行状态

创建完成后,通过日志确认start-dev是否正常启动:

az container logs -g mygroup --name myname

若日志中出现Listening on: http://0.0.0.0:8080类内容,说明开发模式已成功启动。

3. 修复容器连接断开问题

start-dev命令本身为前台运行模式,重新创建容器后,可尝试用以下命令进入容器:

az container exec -g mygroup --name myname --exec-command "/bin/bash"

额外提示

  • 开发模式下Keycloak会自动加载配置并启动,无需额外初始化操作
  • 若需对外访问,创建容器时需添加--ports 8080参数,并配置对应Azure网络规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 02:12:02