你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

az acr task

使用 Azure 容器注册表管理生成、测试和 OS & 框架修补容器映像的步骤集合。

命令

az acr task cancel-run

取消Azure 容器注册表的指定运行。

az acr task create

创建一系列用于生成、测试和 OS & 框架修补容器的步骤。 任务支持 git 提交和基础映像更新中的触发器。

az acr task credential

管理任务的凭据。 有关详细信息,请参阅 https://aka.ms/acr/tasks/cross-registry-authentication

az acr task credential add

将自定义注册表登录凭据添加到任务。

az acr task credential list

列出任务的所有自定义注册表凭据。

az acr task credential remove

删除任务的凭据。

az acr task credential update

更新任务的注册表登录凭据。

az acr task delete

从Azure 容器注册表中删除任务。

az acr task identity

任务的托管标识。 有关详细信息,请参阅 https://aka.ms/acr/tasks/task-create-managed-identity

az acr task identity assign

更新任务的托管标识。

az acr task identity remove

删除任务的托管标识。

az acr task identity show

显示任务的托管标识。

az acr task list

列出Azure 容器注册表的任务。

az acr task list-runs

列出Azure 容器注册表执行的所有运行,并能够按特定任务进行筛选。

az acr task logs

显示特定运行的日志。 如果未提供运行 ID,则显示上次创建的运行的日志。

az acr task run

手动触发可能正在等待 git 提交或基本映像更新触发器的任务。

az acr task show

获取Azure 容器注册表的命名任务的属性。

az acr task show-run

获取Azure 容器注册表任务的指定运行的属性。

az acr task timer

管理任务的计时器触发器。

az acr task timer add

将计时器触发器添加到任务。

az acr task timer list

列出任务的所有计时器触发器。

az acr task timer remove

从任务中删除计时器触发器。

az acr task timer update

更新任务的计时器触发器。

az acr task update

更新Azure 容器注册表的任务。

az acr task update-run

修补Azure 容器注册表任务的运行属性。

az acr task cancel-run

取消Azure 容器注册表的指定运行。

az acr task cancel-run --registry
                       --run-id
                       [--resource-group]

示例

取消运行

az acr task cancel-run -r MyRegistry --run-id runId

必需参数

--registry -r

容器注册表的名称。 它应以小写形式指定。 可以使用 配置默认注册表名称 az configure --defaults acr=<registry name>

--run-id

唯一的运行标识符。

可选参数

--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

az acr task create

创建一系列用于生成、测试和 OS & Framework 修补容器的步骤。 任务支持 git 提交和基础映像更新中的触发器。

az acr task create --name
                   --registry
                   [--agent-pool]
                   [--arg]
                   [--assign-identity]
                   [--auth-mode {Default, None}]
                   [--base-image-trigger-enabled {false, true}]
                   [--base-image-trigger-name]
                   [--base-image-trigger-type {All, Runtime}]
                   [--cmd]
                   [--commit-trigger-enabled {false, true}]
                   [--context]
                   [--cpu]
                   [--file]
                   [--git-access-token]
                   [--image]
                   [--is-system-task]
                   [--log-template]
                   [--no-cache {false, true}]
                   [--no-push {false, true}]
                   [--platform]
                   [--pull-request-trigger-enabled {false, true}]
                   [--resource-group]
                   [--schedule]
                   [--secret-arg]
                   [--set]
                   [--set-secret]
                   [--source-trigger-name]
                   [--status {Disabled, Enabled}]
                   [--target]
                   [--timeout]
                   [--update-trigger-endpoint]
                   [--update-trigger-payload-type {Default, Token}]
                   [--values]

示例

创建没有源位置的任务。

az acr task create -n hello-world -r MyRegistry --cmd '$Registry/myimage' -c /dev/null

使用标准输入和计时器触发器创建具有定义的任务,该触发器使用默认触发器名称在每小时顶部运行该任务。 “Ctrl + Z” (Windows) 或“Ctrl + D” (Linux) 终止输入流。

cat task.yaml | az acr task create -n hello-world -r MyRegistry -f - -c /dev/null \
    --schedule "0 */1 * * *"
az acr task create -n hello-world -r MyRegistry -f - -c /dev/null --schedule "0 */1 * * *"

从公共 GitHub 存储库创建 Linux 任务,该存储库在不使用触发器的情况下生成 hello-world 映像,并使用生成参数。

az acr task create -t hello-world:{{.Run.ID}} -n hello-world -r MyRegistry \
    -c https://github.com/Azure/acr-builder.git -f Dockerfile \
    --commit-trigger-enabled false --base-image-trigger-enabled false \
    --arg DOCKER_CLI_BASE_IMAGE=docker:18.03.0-ce-git

使用专用 Azure DevOps 存储库的特定分支创建 Linux 任务,该分支在 Arm 体系结构上生成 hello-world 映像 (V7 变体) 并启用了触发器。

az acr task create -t hello-world:{{.Run.ID}} -n hello-world -r MyRegistry \
    -c https://msazure.visualstudio.com/DefaultCollection/Project/_git/Repo#Branch:Folder \
    -f Dockerfile --git-access-token <Personal Access Token> --platform linux/arm/v7

从公共 GitHub 存储库创建 Linux 任务,该存储库使用已启用 git 提交和拉取请求触发器生成 hello-world 映像。 请注意,此任务不使用源注册表 (MyRegistry) ,因此我们可以将身份验证模式显式设置为 None。

az acr task create -t hello-world:{{.Run.ID}} -n hello-world -r MyRegistry  -f Dockerfile \
    --no-push true --auth-mode None -c https://github.com/Azure-Samples/acr-build-helloworld-node.git \
    --pull-request-trigger-enabled true --git-access-token 000000000000000000000000000000000

从公共 GitHub 存储库创建 Windows 任务,该存储库在 Amd64 体系结构上生成 Azure 容器生成器映像,仅启用基础映像触发器。

az acr task create -t acb:{{.Run.ID}} -n acb-win -r MyRegistry \
    -c https://github.com/Azure/acr-builder.git -f Windows.Dockerfile \
    --commit-trigger-enabled false --platform Windows/amd64

从公共 GitHub 存储库创建 Linux 多步骤任务,其中包含系统分配的托管标识和用户分配的托管标识和基本映像、git 提交、拉取请求和计时器触发器,这些触发器在星期一到星期五中午运行该任务,并提供计时器触发器名称。

az acr task create -t hello-world:{{.Run.ID}} -n hello-world -r MyRegistry \
    --pull-request-trigger-enabled true --schedule "dailyTimer:0 12 * * Mon-Fri" \
    -c https://github.com/Azure-Samples/acr-tasks.git#:multipleRegistries -f testtask.yaml \
    --assign-identity [system] "/subscriptions/<subscriptionId>/resourcegroups/<myResourceGroup>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentitiy>"

必需参数

--name -n

任务的名称。

--registry -r

容器注册表的名称。 它应以小写形式指定。 可以使用 配置默认注册表名称 az configure --defaults acr=<registry name>

可选参数

--agent-pool

代理池的名称。

--arg

“--arg name[=value]”格式的生成参数。 通过多次传递“--arg”支持的倍数。

--assign-identity

将托管标识分配给任务。 使用“[system]”引用系统分配的标识或资源 ID 来引用用户分配的标识。 有关详细信息,请参阅 https://aka.ms/acr/tasks/task-create-managed-identity

--auth-mode

源注册表的身份验证模式。

接受的值: Default, None
--base-image-trigger-enabled

指示是否启用基础映像触发器。

接受的值: false, true
默认值: 1
--base-image-trigger-name

基本映像触发器的名称。

默认值: defaultBaseimageTriggerName
--base-image-trigger-type

基本映像依赖项更新的自动触发器的类型。

接受的值: All, Runtime
默认值: Runtime
--cmd

要执行的命令。 这还支持 () 甚至其他 docker 命令https://docs.docker.com/engine/reference/commandline/docker/ () 的其他 docker 运行参数https://docs.docker.com/engine/reference/commandline/run/

--commit-trigger-enabled

指示是否启用源代码管理提交触发器。

接受的值: false, true
默认值: 1
--context -c

源代码存储库的完整 URL (需要 github 存储库的“.git”后缀) 或远程 tarball (,例如“”http://server/context.tar.gz) “或 Azure 容器 (注册表中 OCI 项目的存储库,例如”oci://myregistry.azurecr.io/myartifact:mytag“) 。 如果指定了“/dev/null”,则该值将设置为 None 并忽略。 如果任务不是系统任务,则此参数是必需的。

--cpu

CPU 配置,包括运行所需的核心数。

默认值: 2
--file -f

任务/docker 文件到源代码根文件夹的相对路径。 任务文件必须后缀为“.yaml”,或使用“-”从标准输入通过管道传递。

--git-access-token

用于访问源代码管理提供程序的访问令牌。

--image -t

使用格式“-t 存储库/image:tag”的图像的名称和标记。 通过多次传递 -t 来支持多个标记。

--is-system-task

指示任务资源是否为系统任务。 任务的名称必须是“quicktask”。 仅适用于已启用 CMK 的注册表。

--log-template

使用“log/repo:tag”格式运行日志项目的存储库和标记模板 (,例如“acr/logs:{.Run.ID}}”) 。 仅适用于已启用 CMK 的注册表。

--no-cache

指示是否启用映像缓存。

接受的值: false, true
--no-push

指示是否应将生成的映像推送到注册表。

接受的值: false, true
--platform

运行生成/任务的平台,例如“windows”和“linux”。 在生成命令中使用时,还可以在生成的图像的“os/arch/variant”格式中指定它。 例如 linux/arm/v7。 “arch”和“variant”部分是可选的。

--pull-request-trigger-enabled

指示是否启用源代码管理拉取请求触发器。 触发器默认处于禁用状态。

接受的值: false, true
--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

--schedule

计时器触发器的计划表示为 cron 表达式。 可以使用格式指定 --schedule name:schedule 可选的触发器名称。 通过多次传递 --schedule 支持的倍数。

--secret-arg

“--secret-arg name[=value]”格式的机密生成参数。 通过多次传递 --secret-arg 支持的倍数。

--set

“--set name[=value]”格式的任务值。 通过传递 --set 多次支持的倍数。

--set-secret

“--set-secret name[=value]”格式的机密任务值。 通过多次传递 --set-secret 支持的倍数。

--source-trigger-name

源触发器的名称。

默认值: defaultSourceTriggerName
--status

任务的当前状态。

接受的值: Disabled, Enabled
默认值: Enabled
--target

目标生成阶段的名称。

--timeout

超时(以秒为单位)。

默认值: 3600
--update-trigger-endpoint

用于接收基本映像更新触发器通知的终结点的完整 URL。

--update-trigger-payload-type

指示在发送通知时是否在有效负载中包含有关有效负载中基础映像触发器的元数据。

接受的值: Default, Token
默认值: Default
--values

相对于源上下文的任务值/参数文件路径。

az acr task delete

从Azure 容器注册表中删除任务。

az acr task delete --name
                   --registry
                   [--resource-group]
                   [--yes]

示例

从Azure 容器注册表中删除任务。

az acr task delete -n MyTask -r MyRegistry

必需参数

--name -n

任务的名称。

--registry -r

容器注册表的名称。 它应以小写形式指定。 可以使用 配置默认注册表名称 az configure --defaults acr=<registry name>

可选参数

--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

--yes -y

不提示确认。

az acr task list

列出Azure 容器注册表的任务。

az acr task list --registry
                 [--resource-group]

示例

列出任务并在表中显示结果。

az acr task list -r MyRegistry -o table

必需参数

--registry -r

容器注册表的名称。 它应以小写形式指定。 可以使用 配置默认注册表名称 az configure --defaults acr=<registry name>

可选参数

--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

az acr task list-runs

列出Azure 容器注册表执行的所有运行,并能够按特定任务进行筛选。

az acr task list-runs --registry
                      [--image]
                      [--name]
                      [--resource-group]
                      [--run-status {Canceled, Error, Failed, Queued, Running, Started, Succeeded, Timeout}]
                      [--top]

示例

列出注册表的所有运行,并在表中显示结果。

az acr task list-runs -r MyRegistry -o table

列出任务运行并在表中显示结果。

az acr task list-runs -r MyRegistry -n MyTask -o table

列出注册表的最后 10 次成功运行,并在表中显示结果。

az acr task list-runs -r MyRegistry --run-status Succeeded --top 10 -o table

列出为注册表生成映像“hello-world”的所有运行,并在表中显示结果。

az acr task list-runs -r MyRegistry --image hello-world -o table

必需参数

--registry -r

容器注册表的名称。 它应以小写形式指定。 可以使用 配置默认注册表名称 az configure --defaults acr=<registry name>

可选参数

--image -t

图像的名称。 可以采用“name:tag”格式或摘要格式为“name@digest”的标记。

--name -n

任务的名称。

--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

--run-status

运行的当前状态。

接受的值: Canceled, Error, Failed, Queued, Running, Started, Succeeded, Timeout
--top

限制结果中的最新运行数。

默认值: 15

az acr task logs

显示特定运行的日志。 如果未提供运行 ID,则显示上次创建的运行的日志。

az acr task logs --registry
                 [--image]
                 [--name]
                 [--no-format]
                 [--resource-group]
                 [--run-id]

示例

显示注册表中上次创建的运行的日志。

az acr task logs -r MyRegistry

显示注册表中上次创建的运行日志,按任务进行筛选。

az acr task logs -r MyRegistry -n MyTask

显示特定运行的日志。

az acr task logs -r MyRegistry --run-id runId

显示生成映像“hello-world”的注册表中上次创建的运行的日志。

az acr task logs -r MyRegistry --image hello-world

必需参数

--registry -r

容器注册表的名称。 它应以小写形式指定。 可以使用 配置默认注册表名称 az configure --defaults acr=<registry name>

可选参数

--image -t

图像的名称。 可以采用“name:tag”格式或摘要格式为“name@digest”的标记。

--name -n

任务的名称。

--no-format

指示日志是否应以原始格式显示。

--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

--run-id

唯一运行标识符。

az acr task run

手动触发可能正在等待 git 提交或基础映像更新触发器的任务。

az acr task run --name
                --registry
                [--agent-pool]
                [--arg]
                [--context]
                [--file]
                [--log-template]
                [--no-format]
                [--no-logs]
                [--no-wait]
                [--resource-group]
                [--secret-arg]
                [--set]
                [--set-secret]
                [--target]
                [--update-trigger-token]

示例

触发任务运行。

az acr task run -n MyTask -r MyRegistry

通过重写任务创建期间使用远程存储库传递的上下文和文件来触发任务运行。

az acr task run -n MyTask -r MyRegistry -c https://github.com/Azure-Samples/acr-build-helloworld-node.git -f Dockerfile

通过重写任务创建期间使用本地上下文传递的上下文和文件来触发任务运行。

az acr task run -n MyTask -r MyRegistry -c . -f Dockerfile

通过添加或重写任务创建期间设置的生成参数来触发任务运行。

az acr task run -n MyTask -r MyRegistry --arg DOCKER_CLI_BASE_IMAGE=docker:18.03.0-ce-git

必需参数

--name -n

任务的名称。

--registry -r

容器注册表的名称。 它应以小写形式指定。 可以使用 配置默认注册表名称 az configure --defaults acr=<registry name>

可选参数

--agent-pool

代理池的名称。

--arg

“--arg name[=value]”格式的生成参数。 多次传递“--arg”支持的倍数。

--context -c

源代码存储库的完整 URL (需要 github 存储库的“.git”后缀,) 或远程 tarball (,例如“') ”http://server/context.tar.gz或 Azure 容器注册表中 OCI 项目的存储库 (,例如“oci://myregistry.azurecr.io/myartifact:mytag”) 。 如果指定了“/dev/null”,该值将设置为“无”并忽略。 如果任务不是系统任务,则这是必需的参数。

--file -f

任务/docker 文件到源代码根文件夹的相对路径。 任务文件必须使用“.yaml”后缀,或使用“-”从标准输入进行管道传输。

--log-template

用于运行日志项目的存储库和标记模板,格式为:“log/repo:tag” (,例如“acr/logs:{.Run.ID}}”) 。 仅适用于已启用 CMK 的注册表。

--no-format

指示日志是否应以原始格式显示。

--no-logs

成功排队生成后不显示日志。

--no-wait

不要等待运行完成并在运行排队后立即返回。

--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

--secret-arg

“--secret-arg name[=value]”格式的机密生成参数。 通过多次传递 --secret-arg 支持的倍数。

--set

“--set name[=value]”格式的任务值。 通过传递 --set 多次支持的倍数。

--set-secret

“--set-secret name[=value]”格式的机密任务值。 通过多次传递 --set-secret 支持的倍数。

--target

目标生成阶段的名称。

--update-trigger-token

将随基本映像触发器通知一起传递回的有效负载。

az acr task show

获取Azure 容器注册表的命名任务的属性。

az acr task show --name
                 --registry
                 [--resource-group]
                 [--with-secure-properties]

示例

获取任务的属性,在表中显示结果。

az acr task show -n MyTask -r MyRegistry -o table

获取任务的属性,包括安全属性。

az acr task show -n MyTask -r MyRegistry --with-secure-properties

必需参数

--name -n

任务的名称。

--registry -r

容器注册表的名称。 它应以小写形式指定。 可以使用 配置默认注册表名称 az configure --defaults acr=<registry name>

可选参数

--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

--with-secure-properties

指示是否应返回任务的安全属性。

az acr task show-run

获取Azure 容器注册表任务的指定运行的属性。

az acr task show-run --registry
                     --run-id
                     [--resource-group]

示例

获取运行的详细信息,在表中显示结果。

az acr task show-run -r MyRegistry --run-id runId -o table

必需参数

--registry -r

容器注册表的名称。 它应以小写形式指定。 可以使用 配置默认注册表名称 az configure --defaults acr=<registry name>

--run-id

唯一运行标识符。

可选参数

--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

az acr task update

更新Azure 容器注册表的任务。

az acr task update --name
                   --registry
                   [--agent-pool]
                   [--arg]
                   [--auth-mode {Default, None}]
                   [--base-image-trigger-enabled {false, true}]
                   [--base-image-trigger-type {All, Runtime}]
                   [--commit-trigger-enabled {false, true}]
                   [--context]
                   [--cpu]
                   [--file]
                   [--git-access-token]
                   [--image]
                   [--log-template]
                   [--no-cache {false, true}]
                   [--no-push {false, true}]
                   [--platform]
                   [--pull-request-trigger-enabled {false, true}]
                   [--resource-group]
                   [--secret-arg]
                   [--set]
                   [--set-secret]
                   [--status {Disabled, Enabled}]
                   [--target]
                   [--timeout]
                   [--update-trigger-endpoint]
                   [--update-trigger-payload-type {Default, Token}]
                   [--values]

示例

更新基础映像更新,以针对多阶段 dockerfile 的所有依赖映像以及Azure 容器注册表中任务的状态触发。

az acr task update -n MyTask -r MyRegistry --base-image-trigger-type All --status Disabled

更新任务到 Windows 的生成步骤的平台, (上一个 Linux) 。

az acr task update -n MyTask -r MyRegistry --platform Windows

更新Azure 容器注册表的任务触发器和上下文。

az acr task update -n hello-world -r MyRegistry -f Dockerfile \
    --commit-trigger-enabled false --pull-request-trigger-enabled true \
    -c https://msazure.visualstudio.com/DefaultCollection/Project/_git/Repo#Branch:Folder

更新Azure 容器注册表的任务。 自动生成的 ()

az acr task update --image MyImage --name MyTask --registry MyRegistry \
    --context https://github.com/Azure-Samples/acr-build-helloworld-node.git

必需参数

--name -n

任务的名称。

--registry -r

容器注册表的名称。 它应以小写形式指定。 可以使用 配置默认注册表名称 az configure --defaults acr=<registry name>

可选参数

--agent-pool

代理池的名称。

--arg

“--arg name[=value]”格式的生成参数。 多次传递“--arg”支持的倍数。

--auth-mode

源注册表的身份验证模式。

接受的值: Default, None
--base-image-trigger-enabled

指示是否启用基础映像触发器。

接受的值: false, true
--base-image-trigger-type

基础映像依赖项更新的自动触发器的类型。

接受的值: All, Runtime
--commit-trigger-enabled

指示是否启用源代码管理提交触发器。

接受的值: false, true
--context -c

源代码存储库的完整 URL (需要 github 存储库的“.git”后缀,) 或远程 tarball (,例如“') ”http://server/context.tar.gz或 Azure 容器注册表中 OCI 项目的存储库 (,例如“oci://myregistry.azurecr.io/myartifact:mytag”) 。 如果指定了“/dev/null”,该值将设置为“无”并忽略。 如果任务不是系统任务,则这是必需的参数。

--cpu

在运行所需的核心数方面,CPU 配置。

--file -f

任务/docker 文件到源代码根文件夹的相对路径。 任务文件必须使用“.yaml”后缀,或使用“-”从标准输入进行管道传输。

--git-access-token

用于访问源代码管理提供程序的访问令牌。

--image -t

图像的名称和标记,格式为:“-t 存储库/image:tag”。 通过多次传递 -t 支持多个标记。

--log-template

用于运行日志项目的存储库和标记模板,格式为:“log/repo:tag” (,例如“acr/logs:{.Run.ID}}”) 。 仅适用于已启用 CMK 的注册表。

--no-cache

指示是否启用映像缓存。

接受的值: false, true
--no-push

指示是否应将生成的映像推送到注册表。

接受的值: false, true
--platform

运行生成/任务的平台,例如,“windows”和“linux”。 在生成命令中使用时,还可以在生成的图像的“os/arch/variant”格式中指定它。 例如,linux/arm/v7。 “arch”和“variant”部分是可选的。

--pull-request-trigger-enabled

指示是否启用源代码管理拉取请求触发器。 默认情况下禁用触发器。

接受的值: false, true
--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。

--secret-arg

“--secret-arg name[=value]”格式的机密生成参数。 通过多次传递 --secret-arg 支持的倍数。

--set

“--set name[=value]”格式的任务值。 通过传递 --set 多次支持的倍数。

--set-secret

“--set-secret name[=value]”格式的机密任务值。 通过多次传递 --set-secret 支持的倍数。

--status

任务的当前状态。

接受的值: Disabled, Enabled
--target

目标生成阶段的名称。

--timeout

超时(以秒为单位)。

--update-trigger-endpoint

用于接收基本映像更新触发器通知的终结点的完整 URL。

--update-trigger-payload-type

指示在发送通知时是否在有效负载中包含有关有效负载中基础映像触发器的元数据。

接受的值: Default, Token
--values

相对于源上下文的任务值/参数文件路径。

az acr task update-run

修补Azure 容器注册表任务的运行属性。

az acr task update-run --registry
                       --run-id
                       [--no-archive {false, true}]
                       [--resource-group]

示例

更新要存档的现有运行。

az acr task update-run -r MyRegistry --run-id runId --no-archive false

必需参数

--registry -r

容器注册表的名称。 它应以小写形式指定。 可以使用 配置默认注册表名称 az configure --defaults acr=<registry name>

--run-id

唯一运行标识符。

可选参数

--no-archive

指示是否应存档运行。

接受的值: false, true
--resource-group -g

资源组的名称。 可以使用 az configure --defaults group=<name> 配置默认组。