Azure 容器实例无法使用 docker 组合部署提取 public docker 中心映像
Azure Container Instances unable to pull public docker hub images with docker compose deployment
我正在尝试使用 public Docker 中心图像和这两个教程 docker, youtube 将 docker 组合文件部署到 Azure 容器实例 (ACI)。但是,它一直说我无法拉取 public 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 集线器上 public。
我已经登录到 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 文件进行部署,没有 Docker 文件,因为它仅使用 public docker 中心图像。
有没有人遇到过类似的问题?
解决方案
移除 container_name,因为 ACI
不支持
原来这个问题只是因为 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 行即可解决问题。
我正在尝试使用 public Docker 中心图像和这两个教程 docker, youtube 将 docker 组合文件部署到 Azure 容器实例 (ACI)。但是,它一直说我无法拉取 public 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 集线器上 public。
我已经登录到 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 文件进行部署,没有 Docker 文件,因为它仅使用 public docker 中心图像。
有没有人遇到过类似的问题?
解决方案
移除 container_name,因为 ACI
不支持原来这个问题只是因为 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 行即可解决问题。