无法使用 docker.io 中的映像创建 Azure 容器实例

问题描述 投票:0回答:1

我们有一个 Azure yaml 管道,配置为从 docker 映像创建容器实例,该管道在 7 月 1 日(昨天)之前运行良好,但是从 7 月 2 日(今天)开始,管道中会抛出以下错误:

错误:(RegistryErrorResponse)从 docker 注册表“docker.io”收到错误响应。请稍后重试。 代码:注册表错误响应 消息:从 docker 注册表“docker.io”收到错误响应。请稍后重试。

这是用于创建容器的

AzureCLI@2
任务:

- task: AzureCLI@2
  name: CreateContainer
  displayName: Create container
  inputs:
    azureSubscription: ${{ parameters.subscription }}
    scriptType: bash
    scriptLocation: inlineScript
    inlineScript: |
      az container create \
        --resource-group '${{ parameters.resourceGroup }}' \
        --name '${{ parameters.name }}' \
        --image 'docker.io/mockoon/cli:latest' \
        --ports ${{ parameters.port }} \
        --location '${{ parameters.location }}' \
        --dns-name-label '${{ parameters.name }}' \
        --command-line "mockoon-cli start --data '$(publicUrl)' --port ${{ parameters.port }}"`

我尝试过使用不同的标签,例如

8.2.0
8.1.1
,相同的结果 我在这里检查了状态https://www.dockerstatus.com/,它是“所有系统都可运行”

docker azure-devops azure-pipelines azure-pipelines-yaml
1个回答
0
投票

尝试使用 Docker Hub 中的 Docker 映像创建 ACI 时,我会收到相同的错误消息。但是,使用 ACR 中的图像时效果很好。

作为解决方法,您可以尝试使用“

Dev Container Build and Run Task
”提供的 DevcontainersCi@0 任务拉取、重新构建图像“mockoon/cli:latest”并将其推送到 ACR扩展名,然后使用 ACR 中的图像创建 ACI。

  1. Dev Container Build and Run Task 扩展安装到您的 Azure DevOps 组织。

  2. 在管道运行的 git 存储库中,在根目录中添加一个包含以下内容的 json 文件“

    .devcontainer/devcontainer.json
    ”。

    {
      "image": "docker.io/mockoon/cli:latest"
    }
    

    enter image description here

  3. 然后如下配置管道。

steps:
- task: Docker@2
  displayName: 'Docker Login'
  inputs:
    containerRegistry: 'Name of the Docker Registry service connection' 
    command: login

- task: DevcontainersCi@0
  displayName: 'Build and Run Dev Container'
  inputs:
    imageName: yourregistry.azurecr.io/mockoon_cli
    imageTag: 'latest'
    push: filter
    sourceBranchFilterForPush: refs/heads/main
    noCache: false

- task: AzureCLI@2
  displayName: 'Create ACI'
  inputs:
    azureSubscription: 'Name of the ARM service connection'
    scriptType: 'bash'
    scriptLocation: 'inlineScript'
    inlineScript: |
      az container create \
      -g '${{ parameters.resourceGroup }}' \
      -n '${{ parameters.name }}' \
      -l '${{ parameters.location }}' \
      --ports ${{ parameters.port }} \
      --dns-name-label '${{ parameters.name }}' \
      --registry-username $(username) \
      --registry-password $(password) \
      --image 'yourregistry.azurecr.io/mockoon_cli:latest' \
      --command-line "mockoon-cli start --data '$(publicUrl)' --port ${{ parameters.port }}"`

© www.soinside.com 2019 - 2024. All rights reserved.