问题描述
我正在按照this page上的说明在Azure容器注册表中创建Docker映像。一切正常,直到进入“运行图像”步骤。当我运行命令时:
az acr run --registry {the name of my registry} --cmd '{the name of my registry}.azurecr.io/sample/hello-world:v1" /dev/null
我收到以下错误:
az acr run: error: unrecognized argument: --cmd {the name of my registry}.azurecr.io/sample/hello-world:v1
usage: az acr run [-h] [--verbose] [--debug]
[--output {json,jsonc,table,tsv,yaml,none}]
[--query JMESPATH] --registry REGISTRY_NAME [--file FILE]
[--values VALUES] [--set SET_VALUE]
[--set-secret SET_SECRET] [--no-format] [--no-logs]
[--timeout TIMEOUT] [--resource-group RESOURCE_GROUP_NAME]
[--os OS_TYPE] [--platform PLATFORM]
[--auth-mode {None,Default}] [--no-wait]
[--subscription _SUBSCRIPTION]
<SOURCE_LOCATION>
az acr run命令似乎不支持文档中指定的--cmd参数。
当我运行az --version时,我得到以下信息:
azure-cli 2.0.61 *
acr 2.2.3 *
我在做什么错?文档是否正确?我应该使用其他版本的Azure CLI吗?
解决方法
cmd
命令的末尾可能有一个错字,其中没有双引号("
)
--cmd '{the name of my registry}.azurecr.io/sample/hello-world:v1"
请将其更改为单引号。
--cmd '{the name of my registry}.azurecr.io/sample/hello-world:v1'
,
问题是我在计算机的Ubuntu WSL安装中正在运行旧版本的Azure CLI。当我从安装了Azure CLI 2.9.1版本的Azure Cloud Shell中尝试命令时,该命令成功。此外,如果我获得了该命令的帮助,则会得到以下内容,其中包括--cmd参数。
usage: az acr run [-h] [--verbose] [--debug] [--only-show-errors]
[--output {json,jsonc,yaml,yamlc,table,tsv,none}]
[--query JMESPATH] [--subscription _SUBSCRIPTION] --registry
REGISTRY_NAME [--agent-pool AGENT_POOL_NAME] [--file FILE]
[--values VALUES] [--set SET_VALUE]
[--set-secret SET_SECRET] [--cmd CMD_VALUE] [--no-format]
[--no-logs] [--timeout TIMEOUT]
[--resource-group RESOURCE_GROUP_NAME] [--platform PLATFORM]
[--auth-mode {None,Default}] [--no-wait]
<SOURCE_LOCATION>