如何使用 Azure Pipeline 将 Docker 映像“推送”到 Azure 容器注册表?
Posted
技术标签:
【中文标题】如何使用 Azure Pipeline 将 Docker 映像“推送”到 Azure 容器注册表?【英文标题】:How to use Azure Pipeline to "Push" a docker image to Azure Container Registry? 【发布时间】:2021-12-22 09:27:46 【问题描述】:这是我的场景/用例:
从 docker hub 拉取一个 docker 镜像并将其推送到 Azure Container Registry。注意,我不必构建 docker 镜像
我正在关注此文档,但有些事情不清楚
https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/containers/push-image?view=azure-devops#azure-container-registry
这是 azure 管道 yaml sn-p
- task: Docker@2
displayName: Push image
inputs:
containerRegistry: |
$(dockerHub)
repository: $(imageName)
command: push
tags: |
test1
test2
我不明白的是,Azure Container Registry 和 Docker Hub 之间的链接在哪里以满足源和目标之间的链接?
有人可以澄清一下并为我提供一个可以工作的 yaml sn-p 来完成我的工作吗?
谢谢!
【问题讨论】:
你必须先拉取图像。 【参考方案1】:为什么你需要一个管道?如果您有 ACR,请使用 ACR 任务安排将图像从任何注册表自动导入您的 ACR:
task.yaml
version: v1.1.0
steps:
- cmd: az acr import --name my_registry --source SOURCE --image IMAGE --force
创建任务:
export REGISTRY_NAME=my_registry
cat task.yaml | \
az acr task create -n scheduled-import -r $REGISTRY_NAME \
-f - \
-c /dev/null \
--schedule "0 * * * *"
文档:
-
ACR Tasks reference: YAML
az acr task create
【讨论】:
以上是关于如何使用 Azure Pipeline 将 Docker 映像“推送”到 Azure 容器注册表?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Azure DevOps Pipeline 读取 Azure 文件共享文件