【问题标题】:Azure Container Instances unable to pull public docker hub images with docker compose deploymentAzure 容器实例无法使用 docker compose 部署提取公共 docker hub 映像
【发布时间】:2021-06-22 03:38:33
【问题描述】:

我正在尝试通过dockeryoutube 这两个教程使用公共 Dockerhub 映像将 docker compose 文件部署到 Azure 容器实例 (ACI)。但是,它一直说我无法提取公共 dockerhub 图像

containerinstance.ContainerGroupsClient#CreateOrUpdate: 
  Failure sending request: StatusCode=400 -- Original Error: Code="MultipleErrorsOccurred" 
  Message="Multiple error occurred: 
    'BadRequest':'InaccessibleImage':'The image 'selenium/standalone-firefox:latest' in container group 'test_ui_automation' is not accessible. Please check the image and registry credential.

该过程本身应该是在设置 ACI 实例时,因此不存在任何注册详细信息并且图像在 docker hub 上是公开的。

我已登录 Azure 和 Docker Hub。根据youtube的教程,应该只是创建ACI实例,然后运行docker compose -f azure-testproject-docker.yaml -d的过程。

azure-testproject-docker.yaml

version: '3.1'
services:
  testproject-agent:
    image: testproject/agent:latest
    container_name: testproject-agent
    depends_on:
      - chrome
      - firefox
    volumes:
      - mydata:/var/testproject/agent
    environment:
      TP_AGENT_ALIAS: "MY DOCKER AGENT"
      TP_API_KEY: "MY KEY"
      TP_JOB_PARAMS: '"jobParameters" : { "browsers": [ "chrome", "firefox" ] }'
      CHROME: "chrome:4444"
      FIREFOX: "firefox:4444"
  chrome:
    image: selenium/standalone-chrome:latest
    volumes:
      - mydata:/dev/shm
  firefox:
    image: selenium/standalone-firefox:latest
    volumes:
      - mydata:/dev/shm

volumes:
  mydata:
    driver: azure_file
    driver_opts:
      share_name: myfileshare
      storage_account_name: mystorageaccount

docker-compose 文件很基础,只是使用了TestProject 的默认docker compose 文件。图像在本地 docker 上下载,但 azure 部分不起作用。

重点是仅使用 Docker Compose 文件进行部署,而不使用 Dockerfile,因为它只是使用公共 dockerhub 映像。

有没有人遇到过类似的问题?

解决方案

删除容器名称,因为 ACI 不支持

【问题讨论】:

  • 首先您应该查看支持的 ACI docker-compose 功能,因为至少不支持 container_name。 docs.docker.com/cloud/aci-compose-features
  • 请同时执行命令“docker context ls”以确保您有 ACI 上下文

标签: azure docker docker-compose dockerhub


【解决方案1】:

原来问题只是因为 container_name 不受支持。

根据 andriy-bilous 的评论

First you should look at supported ACI docker-compose features, as at least container_name is not supported. docs.docker.com/cloud/aci-compose-features – Andriy Bilous 17 hours ago

仅通过删除 container_name 行即可解决问题。

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-10
    • 2020-04-09
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    相关资源
    最近更新 更多