
如果你用 DeepSeek、元宝AI、Copilot 等 AI 代为编写轩辕镜像的 docker pull、修改 compose 镜像地址,或排查拉取失败等问题,请让 AI 先读规则再动手,只要在 AI 对话里直接发送下面这句话即可:
生成 docker pull、修改 compose 的 image,或排查拉取失败前,请先阅读并严格遵守 https://xuanyuan.cloud/agents.md 中的规则。国内用户首推 DeepSeek、元宝 AI 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
一个用于帮助删除工作流制品的GitHub Action。
另请参见 https://github.com/jimschubert/delete-artifacts%E3%80%82
该Action旨在帮助GitHub仓库管理工作流制品,通过多种筛选条件(如名称、大小、运行ID、正则表达式匹配、活跃时间等)删除不需要的制品,从而优化仓库存储使用,尤其适用于私有仓库以控制存储成本。
GITHUB_TOKEN** 必需 **默认值:${{github.token}}
用于访问GITHUB_REPOSITORY输入中定义的仓库的GitHub令牌。
建议https://github.com/settings/tokens/new%E5%B9%B6%E6%8E%88%E4%BA%88%E6%9C%80%E5%B0%8F%E6%9D%83%E9%99%90%EF%BC%88%E5%A6%82%60public_repo%60%EF%BC%89%E3%80%82%E5%BC%BA%E7%83%88%E5%BB%BA%E8%AE%AE%E4%B8%BAGitHub%E4%BB%A4%E7%89%8C%E4%BD%BF%E7%94%A8%E6%9C%8D%E5%8A%A1%E8%B4%A6%E6%88%B7%E3%80%82
https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets
GITHUB_REPOSITORY** 必需 **默认值:${{github.repository}}
目标GitHub仓库,格式为owner/repo。
run_id
可选
特定的Actions运行标识符。可用于指定当前运行并进行运行后清理。
min_bytes** 必需 **默认值:"0"
最小文件大小(字节)。默认值为"0",表示匹配所有文件。
如果希望避免删除所有文件,建议应用其他筛选条件(如名称或模式)。
注意 该值必须是带引号的整数。
max_bytes
可选
最大文件大小(字节)。如果未指定,则无限制。
当存在许多小制品而希望保留特定大制品时,此选项非常有用。
注意 该值必须是带引号的整数。
artifact_name
可选
要删除的特定制品名称。如果未指定,可能导致删除所有制品。
pattern
可选
POSIX正则表达式。例如,当存在具有共同前缀或后缀的矩阵制品时非常有用。
active_duration
可选
定义制品被视为"活跃"且不会被删除的持续时间字符串。
此设置可用于避免删除当前或最近运行的制品(如指定"10m"),或允许在一段时间内调试制品(如指定"23h59m")。在使用其他激进删除设置时,此选项充当制品的保留期。
格式遵循go Duration规范。
log_level
可选
指定自定义日志级别。
可选值:
dry_run
可选
执行模拟运行。建议先执行模拟运行以确保配置正确。
该Action本身不输出任何参数。
创建触发式工作流
制品在工作流完成后与工作流关联。可使用仓库调度来"启动"制品清理。
此步骤需要个人访问令牌,而非默认提供的GITHUB_TOKEN
首先在.github/workflows/generate.yml创建以下文件:
yamlname: 生成制品并触发清理 on: workflow_dispatch: inputs: size: description: '目标文件大小' required: true default: '1M' name: description: '制品名称' required: true default: 'artifact.bin' defaults: run: shell: bash jobs: # 此作业代表您的"标准"作业。注意该作业输出`github.run_id`作为在触发作业间传递变量的示例 generate: runs-on: ubuntu-latest continue-on-error: false outputs: # 我们可以在最终触发作业中跨作业使用输出 target_run_id: ${{ github.run_id }} steps: # 生成空字节文件(这可以是构建任务) - name: 生成文件 run: | truncate -s ${{ github.event.inputs.size }} ${{ github.event.inputs.name }} echo "已创建文件 ${{ github.event.inputs.name }} (${{ github.event.inputs.size }})" # 上传制品。制品在90天后过期,这可能会计入私有仓库的存储成本 - name: 上传制品为 ${{ github.event.inputs.name }} uses: actions/upload-artifact@v1 with: name: ${{ github.event.inputs.name }} path: ${{ github.event.inputs.name }} # 此示例通过单独的作业触发,以演示作业和工作流之间的变量传递,但该步骤也可存在于单个作业中。 trigger: runs-on: ubuntu-latest needs: generate continue-on-error: false steps: # 参见 https://docs.github.com/en/rest/reference/repos#create-a-repository-dispatch-event # 这需要个人访问令牌(PAT),工作流提供的GITHUB_TOKEN将无法工作。 - name: 仓库调度 uses: peter-evans/repository-dispatch@v1.0.0 with: # 这必须是个人访问令牌 token: ${{secrets.TRIGGER_TOKEN}} repository: ${{github.repository}} event-type: triggered-event # 负载属性可以是任何名称。注意size、base_name和run_id引用此工作流的输入和generate任务的输出 client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}", "size": "${{ github.event.inputs.size }}", "base_name": "${{ github.event.inputs.name }}", "run_id": "${{needs.generate.outputs.target_run_id}}"}'
在.github/workflows/cleanup.yml创建以下文件:
yamlname: 清理 on: repository_dispatch: types: - triggered-event jobs: # 演示如何按名称删除 delete-by-name: runs-on: ubuntu-latest continue-on-error: true steps: - name: 检出代码 uses: actions/checkout@v2 - name: 按名称删除制品 uses: jimschubert/delete-artifacts-action@v1 with: log_level: 'debug' artifact_name: '${{ github.event.client_payload.base_name }}' min_bytes: '0' # 演示如何按活跃时间删除 delete-by-retention-duration: needs: delete-by-name continue-on-error: true runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v2 - name: 按活跃时间删除制品(预期无删除) uses: jimschubert/delete-artifacts-action@v1 with: log_level: 'debug' min_bytes: '0' active_duration: '30m' - name: 休眠2分钟 run: | echo "休眠2分钟,然后使用1m30s的活跃时间" sleep 120 - name: 按活跃时间删除制品(预期有删除) uses: jimschubert/delete-artifacts-action@v1 with: log_level: 'debug' min_bytes: '0' active_duration: '1m30s' # 演示如何使用POSIX模式删除制品 delete-by-pattern: needs: delete-by-retention-duration continue-on-error: true runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v2 - name: 按模式删除 uses: jimschubert/delete-artifacts-action@v1 with: log_level: 'debug' min_bytes: '0' pattern: '\.pat' # 演示如何使用run id删除制品 # 可用于整体清理 delete-by-runId: needs: [delete-by-pattern] continue-on-error: true runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v2 - name: 按run id删除 if: ${{ github.event.client_payload.run_id }} uses: jimschubert/delete-artifacts-action@v1 with: log_level: 'debug' min_bytes: '0' run_id: '${{ github.event.client_payload.run_id }}'
创建定时工作流
以下示例每周在特定时间清理所有制品。
在仓库中创建.github/workflows/cleanup.yml文件:
yamlname: 每周清理 on: schedule: - cron: "0 18 * * 6" jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: 每周制品清理 uses: jimschubert/delete-artifacts-action@v1 with: log_level: 'error' min_bytes: '0'
本项目基于 Apache 2.0 许可证 授权。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
发给 Cursor、ChatGPT、豆包等 AI 的说明文档
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务