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

Azure Pipeline中如何验证含全量备份的MariaDB Docker镜像是否启动成功?

在Azure Pipeline中验证MariaDB容器启动状态的方法

针对你的场景,全量备份的MariaDB镜像初始化耗时更长,可通过以下几种方式在Azure Pipeline中验证容器及服务是否正常启动:

1. 检查容器运行状态

通过Docker命令直接查看容器是否处于运行状态:

  • 过滤目标镜像的容器状态:
    docker ps --filter "ancestor=<some_azure_repository>/databasedump:<tag_number>" --format "{{.Names}} | {{.Status}}"
    
    输出中状态包含Up字样,说明容器已启动运行。
  • 查看指定容器的详细状态:
    # 替换为容器ID或名称
    docker inspect <container_id/name> --format '{{.State.Status}}'
    
    返回running则表示容器处于活跃状态。

2. 检查容器日志确认MariaDB服务就绪

全量备份镜像需要时间完成数据库恢复,需等待日志中出现服务就绪标识:

  • 直接过滤就绪日志:
    docker logs <container_id/name> | grep "ready for connections"
    
  • 增加超时等待逻辑(避免Pipeline过早执行测试):
    MAX_WAIT=300  # 最长等待5分钟
    START_TIME=$(date +%s)
    
    while true; do
        if docker logs <container_id/name> | grep -q "ready for connections"; then
            echo "MariaDB服务已就绪"
            break
        fi
        
        ELAPSED=$(( $(date +%s) - START_TIME ))
        if [ $ELAPSED -ge $MAX_WAIT ]; then
            echo "等待MariaDB就绪超时"
            exit 1
        fi
        
        sleep 10
    done
    

3. 直接测试数据库连接

通过数据库客户端或简单脚本验证服务是否可正常响应:

  • 使用MySQL命令行(需在Pipeline代理上预先安装MySQL客户端):
    mysql -h 127.0.0.1 -P 3306 -u <db_username> -p<db_password> -e "SELECT 1;"
    
    成功返回1则表示连接正常。
  • 使用Python测试脚本(与你的集成测试环境一致):
    import pymysql
    
    try:
        conn = pymysql.connect(
            host='127.0.0.1',
            port=3306,
            user='<db_username>',
            password='<db_password>',
            db='<target_db>'
        )
        with conn.cursor() as cursor:
            cursor.execute("SELECT 1;")
            if cursor.fetchone() == (1,):
                print("数据库连接成功")
        conn.close()
    except Exception as e:
        print(f"连接失败: {str(e)}")
        exit(1)
    
    将该脚本作为Pipeline步骤执行,判断连接结果。

4. 验证端口映射有效性

确认容器的3306端口已正确映射到主机:

ss -tuln | grep 3306

输出中出现0.0.0.0:3306或:::3306,说明端口映射生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:05:19