
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
提供nasqueron/arcanist镜像,用于在Docker容器中运行Arcanist(Phabricator的命令行客户端)。旨在无需在Docker引擎服务器上安装PHP的情况下使用arc命令,特别适用于在服务器上调整Docker镜像时使用Arcanist,避免在各处安装PHP环境。
.arcrc、.gitconfig)和工作区卷(存储待操作仓库)arc命令调用,实现直接执行arc <命令>arc call-conduit命令的标准输入传递问题arc update命令,可自动拉取最新镜像并重建用户专用镜像适用于需要在无PHP环境的Docker引擎服务器上使用Arcanist的场景,例如:
arc diff、arc shell、arc call-conduit等)拉取镜像后即可直接运行容器或调用arc命令:
bash# 拉取镜像 docker pull nasqueron/arcanist # 启动交互式shell docker run -it --rm nasqueron/arcanist bash # 直接执行arc命令(示例:arc anoid) docker run -it --rm nasqueron/arcanist arc anoid
镜像提供两个关键卷,需正确挂载以确保功能正常:
配置卷(/opt/config)
用于存储Arcanist和Git的配置文件,包含:
.arcrc:Arcanist配置文件.gitconfig:Git配置文件(含用户身份等信息)配置方法:
mkdir -p ~/.arcbashcp ~/.arcrc ~/.arc/ cp ~/.gitconfig ~/.arc/
工作区卷(/opt/workspace)
用于挂载待操作的Git仓库目录,需将本地仓库路径挂载至此卷。
注意:使用pwd获取当前目录路径(而非.),避免Docker客户端与服务器不在同一机器时的路径解析问题。
方法一:基础包装脚本
创建/usr/local/bin/arc脚本,实现直接调用arc命令:
bashcat > /usr/local/bin/arc << 'EOF' #!/bin/sh if [ "$1" = "shell" ]; then shift COMMAND=bash else mkdir -p ~/.arc COMMAND=arc fi docker run -it --rm -v ~/.arc:/opt/config -v $(pwd):/opt/workspace nasqueron/arcanist $COMMAND "$@" EOF # 添加执行权限 chmod +x /usr/local/bin/arc
使用示例:
basharc shell # 启动包含当前目录的交互式shell arc diff # 执行arc diff命令
方法二:增强型包装脚本
contrib/目录提供两种生产级包装器,解决基础脚本的局限性:
推荐:contrib/arc
nasqueron/arcanist:<uid>-<gid>专用镜像,解决OpenSSH客户端对用户存在性的要求(仅--user $UID参数不足)arc update命令,自动拉取最新基础镜像并重建用户镜像arc call-conduit的标准输入传递问题兼容版:contrib/arc-runs-as-root
跳过用户镜像构建步骤,直接以root身份运行容器,适合无需多用户隔离的场景。
使用优势:
基础用法
bash# 挂载配置和工作区运行arc命令 docker run -it --rm \ -v ~/.arc:/opt/config \ -v $(pwd):/opt/workspace \ nasqueron/arcanist arc diff
使用基础包装脚本
bash# 创建脚本后直接使用 arc shell # 进入交互式环境 arc list # 列出待提交的变更 arc commit # 创建提交
使用增强型包装脚本
bash# 安装contrib/arc后 arc update # 更新基础镜像和用户镜像 arc call-conduit differential.query # 执行conduit API调用 arc shell # 进入带用户环境的交互式shell
$(pwd)而非.挂载当前目录,确保跨机器环境兼容性.arcrc和.gitconfig,否则可能导致认证或命令执行失败-it参数可能导致arc call-conduit异常,建议使用增强型包装脚本contrib/arc,通过用户镜像解决文件权限和SSH客户端问题arc update(增强型脚本)确保使用最新镜像版本您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务