
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像为国际引力波网络(International Gravitational-Wave Network, IGWN)项目的持续集成(Continuous Integration, CI)作业提供标准化构建环境。镜像整合了IGWN项目开发、测试与构建所需的核心依赖工具、库及运行时环境,旨在解决跨团队开发中的环境一致性问题,简化CI流水线配置,提升作业执行效率与可靠性。
libframe、lal)、引力波数据分析工具链(pycbc、gwpy)ccache、pip cache),加速重复构建gwpy、ligo-skymap)的科研团队镜像通常托管于IGWN私有容器仓库或Docker Hub(需权限访问)。通过以下命令拉取:
bashdocker pull igwn/ci-build-env:latest # 最新稳定版 # 或指定版本标签(如基于Ubuntu 22.04的版本) docker pull igwn/ci-build-env:ubuntu22.04-v1.5.0
docker run)4.2.1 交互式构建环境
启动容器并进入交互式终端,用于手动调试或临时构建:
bashdocker run -it --rm \ -v /path/to/local/source:/workspace/src \ # 挂载本地源码目录 -v /path/to/cache:/var/cache/ci-build # 挂载构建缓存(加速重复构建) -e WORKDIR=/workspace/src \ # 设置工作目录 -e BUILD_TARGET=release \ # 指定构建目标(release/debug/test) igwn/ci-build-env:latest \ /bin/bash # 启动bash终端
4.2.2 非交互式CI作业执行
直接在容器中运行预设CI脚本(如编译+测试):
bashdocker run --rm \ -v $(pwd):/workspace \ # 挂载当前目录为工作区 -e LOG_LEVEL=info \ # 设置日志级别(debug/info/warn/error) -e HTTP_PROXY=http://proxy.example.com:8080 \ # 配置网络代理(如需要) igwn/ci-build-env:latest \ /opt/igwn/ci/scripts/run-build.sh # 执行内置CI脚本
创建docker-compose.yml简化多环境配置:
yamlversion: '3.8' services: igwn-ci-build: image: igwn/ci-build-env:ubuntu22.04-v1.5.0 volumes: - ./src:/workspace/src:ro # 只读挂载源码 - ci-cache:/var/cache/ci-build # 持久化缓存卷 - ./output:/workspace/output # 挂载输出目录(存放构建产物) environment: - WORKDIR=/workspace/src - BUILD_TARGET=test - LOG_LEVEL=debug - CACHE_DIR=/var/cache/ci-build command: ["/opt/igwn/ci/scripts/run-test.sh"] # 执行测试脚本 volumes: ci-cache: # 声明持久化缓存卷(避免重复下载依赖)
启动命令:
bashdocker-compose up --build # --build可选,用于强制重建(如需修改配置)
4.4.1 环境变量
| 变量名 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
WORKDIR | 容器内工作目录 | /workspace | 绝对路径(如/src/igwn-project) |
BUILD_TARGET | 构建目标类型 | release | release/debug/test/docs |
LOG_LEVEL | 日志输出级别 | info | debug/info/warn/error |
HTTP_PROXY | HTTP代理地址(用于网络受限环境) | 空(不启用代理) | 代理URL(如http://proxy:8080) |
HTTPS_PROXY | HTTPS代理地址 | 空 | 同上 |
CACHE_DIR | 构建缓存目录(用于ccache等工具) | /var/cache/ci-build | 绝对路径 |
PYTHON_VERSION | 指定Python版本(需镜像支持多版本) | 3.10 | 3.8/3.9/3.10/3.11 |
4.4.2 数据卷挂载建议
| 挂载路径(容器内) | 用途 | 宿主机路径示例 |
|---|---|---|
/workspace/src | 源码目录(建议只读挂载) | ./project-src |
/workspace/output | 构建产物输出目录 | ./build-output |
/var/cache/ci-build | 构建缓存(加速重复构建) | ./ci-cache(持久化目录) |
/etc/igwn/ci/config.d | 自定义CI配置文件目录 | ./custom-config |
若内置CI脚本不满足需求,可挂载自定义脚本到容器并执行:
bashdocker run --rm \ -v ./my-build-script.sh:/workspace/scripts/custom-build.sh \ -v ./src:/workspace/src \ igwn/ci-build-env:latest \ bash /workspace/scripts/custom-build.sh # 执行自定义脚本
igwn-ci,UID=1000)运行,挂载宿主机目录时需确保权限匹配(可通过-u $(id -u):$(id -g)指定用户ID)。latest标签或定期更新版本号)。--cpus、--memory参数限制容器资源(如--cpus 4 --memory 8g)。以下是 igwn/builder 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务