
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
ServiceX_transformer是ServiceX应用的输入输出转换代码库,包含构建ServiceX transformer的通用类及legacy transformer镜像代码。支持从xAOD文件(通过pyroot)和ROOT文件(通过uproot)提取指定列,转换为awkward数组,并将结果发布到后端消息系统或对象存储。
基础镜像构建:
bashdocker build -t sslhep/servicex-transformer-base:develop .
构建transformer变体:
bashdocker build --build-arg BASE_VERSION=develop -f Dockerfile.uprootTransformer -t sslhep/servicex-transformer-uproot:develop . docker build --build-arg BASE_VERSION=develop -f Dockerfile.xAODTransformer -t sslhep/servicex-transformer-xaod:develop .
挂载X509代理(如需)
bashdocker run --rm \ --mount type=bind,source=$HOME/.globus,readonly,target=/etc/grid-certs \ --mount type=bind,source="$(pwd)"/secrets/secrets.txt,target=/servicex/secrets.txt \ --mount type=volume,source=x509,target=/etc/grid-security \ --name=x509-secrets docker.xuanyuan.run/sslhep/x509-secrets:latest
交互式容器启动
bashdocker run --rm -it \ --mount type=volume,source=x509,target=/etc/grid-security-ro \ docker.xuanyuan.run/sslhep/servicex-transformer:develop bash
命令行参数参考
| 选项 | 描述 | 默认值 |
|---|---|---|
| --brokerlist BROKERLIST | Kafka broker列表(流输出时使用) | servicex-kafka-0.slateci.net:,servicex-kafka-1.slateci.net:,servicex-kafka-2.slateci.net:*** |
| --topic TOPIC | Kafka主题名称 | servicex |
| --chunks CHUNKS | 每条消息包含的事件数(自动计算若未指定) | None |
| --tree TREE | 提取数据的ROOT树(仅uproot有效) | Events |
| --attrs ATTR_NAMES | 提取的属性列表 | Electrons.pt(),Electrons.eta(),Electrons.phi(),Electrons.e() |
| --path PATH | ROOT文件路径(支持xrootd) | |
| --limit LIMIT | 最大处理事件数 | |
| --result-destination DEST | 结果目的地(kafka/object-store) | kafka |
| --result-format | 结果格式(arrow/parquet) | arrow |
| --max-message-size | 最大消息大小(MB) | 14.5 |
| --rabbit-uri URI | RabbitMQ连接URI | host.docker.internal |
| --request-id GUID | 转换请求ID(用于RabbitMQ主题或存储桶名) | servicex |
挂载源码运行
bashdocker run -it \ --mount type=bind,source=$(pwd),target=/code \ --mount type=bind,source=$(pwd)/../data,target=/data \ --mount type=volume,source=x509,target=/etc/grid-security-ro \ docker.xuanyuan.run/sslhep/servicex-transformer:develop bash
容器内执行转换:
bashcd /code python xaod_branches.py --path /data/AOD.11182705._000001.pool.root.1 --result-destination kafka --request-id my-bucket --chunks 5000
测试执行
bashdocker run docker.xuanyuan.run/sslhep/servicex-transformer:rabbitmq bash -c "source /home/atlas/.bashrc && pytest -s"
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务