用途:从干净构建包运行 Apache Doris 的 Docker 回归测试,避免本地 conf/ 或启动脚本修改造成污染。
前置条件:需要 Python 3,安装依赖 python -m pip install --user -r docker/runtime/doris-compose/requirements.txt;若 PyYAML 冲突可改用 pyyaml==5.3.1 与 docker==6.1.3,或使用虚拟环境。Docker 需可用,且 docker compose 与 docker-compose 均指向 Compose v2;若出现 TypeError: kwargs_from_env() 需确认版本。用 lsof 检查 8030、8040、8050、8060、8070、9010、9020、9030、9050、9060 端口占用,冲突时询问用户处理。
构建与打包:执行 ./build.sh --fe --be -j<parallel_jobs> --output <output_directory>。随后用 git show HEAD 还原 fe.conf、be.conf、start_fe.sh 并 chmod 755,确认使用默认端口且 start_fe.sh 无 JDWP 调试代理。
构建镜像:docker build --build-arg OUTPUT_PATH=<output_directory> -f docker/runtime/doris-compose/Dockerfile -t <image_name>:latest .
配置与运行:创建 regression-test/conf/regression-conf-custom.groovy,设置 image、excludeDockerTest=false、testGroups="docker",然后执行 ./run-regression-test.sh --run -d <directory> -s <suite_name>。
排错:出现 0 suites 检查配置;JDWP 错误重新还原 start_fe.sh;端口错误重新还原 conf;端口冲突用 lsof 后 kill。运行日志位于 /tmp/doris/<suite_name>/ 下的 fe-1/log、be-1/log 及 doris-compose.log。
限制:资料未提供收费、平台支持范围与效果数据。