【发布时间】:2021-06-22 03:38:33
【问题描述】:
我正在尝试通过docker、youtube 这两个教程使用公共 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