当其中一个容器终止时,停止容器实例组

时间:2020-04-15 22:06:53

标签: azure containers azure-container-instances

我正在创建一个容器组,其中包含一个在网站上运行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

1 个答案:

答案 0 :(得分:1)

对于此要求,ACI不具有您所期望的功能(据我所知)。因此,您需要自己检查容器的状态。

我建议您创建一个带循环的脚本,以检查容器的状态,直到满足您期望的情况为止,然后停止整个容器组。在Azure DevOps中,可以将发布管道分为三个阶段使用,一个阶段用于创建,第二阶段用于通过运行脚本来检查状态,第三阶段用于停止容器组。

要检查容器的状态,我认为以下CLI命令很有用:

az container show -g myResourceGroup -n myContainerGroup --query containers[*].instanceView.currentState.state

它将以数组的形式输出所有容器的状态。