You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Docker容器状态并在容器未运行时终止Azure Pipeline

Azure Pipeline 添加Docker容器运行状态检查逻辑

在现有构建部署流水线的部署步骤之后,添加以下Bash脚本任务,实现容器状态检查并在容器未运行时终止流水线:

- task: Bash@3
  displayName: 检查Docker容器运行状态
  inputs:
    targetType: 'inline'
    script: |
      # 获取名称匹配$(module)的运行中容器ID
      running_containers=$(sudo docker container ls --filter "name=$(module)" --filter "status=running" --quiet)
      
      # 判断是否存在运行中的目标容器
      if [ -z "$running_containers" ]; then
        echo "❌ 错误:名称包含$(module)的容器未处于运行状态"
        exit 1
      else
        echo "✅ 成功:名称包含$(module)的容器正在运行"
      fi

关键说明

  • --quiet参数仅返回容器ID,简化输出内容,便于脚本判断
  • exit 1会让当前Bash任务标记为失败,触发Azure Pipeline终止后续流程并将整个流水线标记为失败
  • 需确保执行该任务的代理节点具备以下权限:
    • 有权限执行docker命令(可将代理用户加入docker组避免使用sudo)
    • 若必须使用sudo,需配置代理用户免密执行sudo docker操作

内容的提问来源于stack exchange,提问作者Julie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 17:40:58