You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub容器镜像推送失败:401未授权问题排查求助

导致GHCR推送401未授权错误的常见原因

以下是几种可能触发该错误的情况及对应排查方向:

  • 镜像命名空间不匹配
    检查镜像标签是否符合GHCR规范格式:ghcr.io/<用户名>/<镜像名>:<标签>。如果工作流所在仓库的所有者不是test-user,默认的GITHUB_TOKEN没有权限推送到不属于当前所有者的镜像空间,必须保证标签中的用户名与github.repository_owner一致。

  • GITHUB_TOKEN权限范围不足
    即使开启了Workflow写入权限,仍需确认仓库的Workflow权限配置:进入仓库「Settings」→「Actions」→「General」,确保「Workflow permissions」设置为Read and write permissions,部分组织仓库还需额外确认是否有全局权限限制。

  • 跨仓库推送权限缺失
    如果工作流所在仓库和目标GHCR仓库不属于同一所有者(跨个人/组织推送),默认的GITHUB_TOKEN不具备跨仓库权限,此时需要使用个人访问令牌(PAT),并为PAT赋予write:packages和read:packages权限,将其存入仓库Secrets后替换工作流中的GITHUB_TOKEN。

  • 临时服务或令牌异常
    GitHub的GITHUB_TOKEN是临时生成的令牌,偶尔会出现生成异常或服务波动的情况,可尝试手动重新触发工作流,排除临时故障。

  • 镜像仓库权限配置错误
    进入GitHub的「Packages」页面,查看目标镜像仓库的权限设置,确认工作流所在仓库的服务账户被赋予了写入权限,同时检查镜像仓库是否存在配额超限、被限制的状态。

快速验证步骤

  1. 确认steps.meta.outputs.tags生成的标签是完整的ghcr.io/${{ github.repository_owner }}/bar:1.8.2格式。
  2. 尝试重新触发工作流,排除临时故障。
  3. 若为跨仓库推送,替换为具备对应权限的PAT进行测试。

内容的提问来源于stack exchange,提问作者Daniel Stephens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 03:43:21