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

为什么无法从本地机器连接Azure容器实例的bash shell?

Azure CLI 执行容器实例exec命令循环报错解决方案

问题成因

该报错是Windows平台旧版Azure CLI的已知缺陷:负责将ANSI转义序列转换为Windows终端颜色指令的colorama库,在处理容器websocket通道返回的特殊控制字符时触发无限递归循环,因此会持续输出重复的调用栈,无法正常进入交互shell。

解决步骤

  • 方案1:临时禁用Azure CLI颜色输出
    执行exec命令前先配置禁用颜色输出的环境变量,再执行原命令即可:
    • CMD终端执行:
      set AZURE_CORE_OUTPUT=no-color
      az container exec --resource-group myrsg --subscription <subs_id> --name <name_container_instance> --container-name console --exec-command "/bin/bash"
      
    • PowerShell终端执行:
      $env:AZURE_CORE_OUTPUT="no-color"
      az container exec --resource-group myrsg --subscription <subs_id> --name <name_container_instance> --container-name console --exec-command "/bin/bash"
      
  • 方案2:升级Azure CLI到最新版本
    该问题在Azure CLI 2.40.0及以上版本已被官方修复,先执行升级命令后重试即可:
    az upgrade
    
  • 方案3:使用WSL环境执行命令
    直接在WSL子系统中安装Azure CLI,再执行相同的exec命令即可,Linux环境下不存在Windows平台的colorama适配问题,不会触发该循环报错。
  • 额外验证项
    若执行上述操作后仍报错,可先确认目标容器镜像是否包含/bin/bash,部分精简镜像(如Alpine基础镜像)默认仅自带/bin/sh,可将命令中的--exec-command "/bin/bash"替换为--exec-command "/bin/sh"重试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:45:04