在 Azure 容器实例上执行命令时出现错误“...websocket/_app.py”,第 345 行,_callback”

时间:2021-07-15 03:49:09

标签: azure azure-cli azure-container-instances

当我在德国中西部创建容器实例时

az container create -n aci-hello-world -g myRG -l germanywestcentral --image mcr.microsoft.com/azuredocs/aci-helloworld

然后尝试执行任何命令

az container exec -n aci-hello-world -g myRG --exec-command "ls"

未执行命令并记录这些错误:

File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\websocket/_app.py", line 345, in _callback
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/container/custom.py", line 644, in _on_ws_msg
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\websocket/_app.py", line 345, in _callback
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/container/custom.py", line 644, in _on_ws_msg

在另一个区域启动同一个容器实例

az container create -n aci-hello-world -g myRG -l westeurope --image mcr.microsoft.com/azuredocs/aci-helloworld

有效。

1 个答案:

答案 0 :(得分:1)

在挣扎了一段时间后,我打开了一个支持案例,看起来 ACI 有两种部署模式:k8s 和 Atlas。如果容器实例是在 Atlas 背板上创建的,则 az container exec 不起作用。

这是官方声明:

<块引用>

“这个问题出现在 Atlas 部署上,germanywestcentral 是一个仅限 Atlas 的区域。问题是一个失败的 exec 命令,只有在部署在 Atlas 上时才会发生,它在 k8s 上的其他区域工作。 如果您想缓解这个问题,那么我们可以将您的订阅列入黑名单,以防止部署登陆 Atlas。但是, Germanycentralwest 是一个仅限 Atlas 的区域,因此您将无法再将容器组部署到该区域。”