azure - 在 AzurePipelines 上推送到 docker 存储库失败

标签 azure azure-devops azure-pipelines azure-pipelines-tasks

任务Docker Push无法将镜像推送到docker hub。

yml:

steps:
- task: Docker@0
  displayName: 'Push an image'
  inputs:
    containerregistrytype: 'Container Registry'
    dockerRegistryConnection: 'docker hub'
    action: 'Push an image'

日志:

Starting: Push an image
==============================================================================
Task         : Docker
Description  : Build, tag, push, or run Docker images, or run a Docker command
Version      : 0.157.0
Author       : Microsoft Corporation
Help         : https://learn.microsoft.com/azure/devops/pipelines/tasks/build/docker
==============================================================================
dbef9fd1-06fb-47eb-af36-bf86b4d44152 exists true
"C:\Program Files\Docker\docker.exe" push azuretp:38
The push refers to repository [docker.io/library/azuretp]
f2369ebe2bed: Preparing
...
537ddf9b819a: Waiting
denied: requested access to the resource is denied
##[error]C:\Program Files\Docker\docker.exe failed with return code: 

连接docker hub正确。我只需重新输入凭据,Azure 管道就会成功验证它。

根据此post,问题似乎与路径有关。 ,但我找不到在此任务中指定我的 docker hub 名称的方法。

最佳答案

The push refers to repository [docker.io/library/azuretp]

根据此错误消息行,任务似乎是将镜像推送到 Docker hub 的根级别,这是不允许的。


要解决此问题,请将任务从 0.* 更改为 2.*

然后,输入 Docker repository page 中列出的 docker 存储库名称。使用以下格式:dockerhub_namespace/RepositoryName:

enter image description here

enter image description here

对于 YAML,请使用以下示例:

steps:
- task: Docker@2
  displayName: push
  inputs:
    containerRegistry: {service connection name}
    repository: {dockerhub_namespace/RepositoryName}
    command: push

关于azure - 在 AzurePipelines 上推送到 docker 存储库失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59053379/

相关文章:

azure-devops - 使用 Azure DevOps REST API 将新文件和文件夹添加到 Azure Git 存储库

azure-devops - 无法在 VSTS 中注册构建代理

azure - 如何识别 ADO Pipelines 中管道的 AzureDevOps ID?

azure - 自定义逻辑应用连接器

asp.net-mvc - CLRThreadPoolQueue 中的大部分请求

azure - 向 Azure Devops 项目添加了服务连接以连接到应用程序配置,但应用程序配置不显示服务连接

azure-devops - VSTS 版本中的源版本 'T'

Azure 资源组不可用于已部署的资源

.net - 是否可以通过控制台应用程序使用 AzureAD 身份验证?

tfs - 在 VSO 的主机代理池上缓存 NuGet 包