我正在创建一个容器组,其中包含一个在网站上运行E2E的容器。当其中一个容器停止运行时,如何停止整个组? (在这种情况下,端到端测试)
我正在通过管道创建此文件,我需要停止前端容器以完成测试。
apiVersion: 2018-10-01
location: northeurope
name: e2e-uat
properties:
containers:
# name of the instance in Azure.
- name: e2etestcafe
properties:
image: registry.azurecr.io/e2e/e2etestcafe:latest
resources:
requests:
cpu: 1
memoryInGb: 3
- name: customerportal
properties:
image: registry.azurecr.io/e2e/customerportal:latest
resources:
requests:
cpu: 1
memoryInGb: 1
ports:
- port: 80
osType: Linux
restartPolicy: never
tags: null
type: Microsoft.ContainerInstance/containerGroups
答案 0 :(得分:1)
对于此要求,ACI不具有您所期望的功能(据我所知)。因此,您需要自己检查容器的状态。
我建议您创建一个带循环的脚本,以检查容器的状态,直到满足您期望的情况为止,然后停止整个容器组。在Azure DevOps中,可以将发布管道分为三个阶段使用,一个阶段用于创建,第二阶段用于通过运行脚本来检查状态,第三阶段用于停止容器组。
要检查容器的状态,我认为以下CLI命令很有用:
az container show -g myResourceGroup -n myContainerGroup --query containers[*].instanceView.currentState.state
它将以数组的形式输出所有容器的状态。