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

如何获取GitHub容器仓库(ghcr.io)API令牌?私有镜像认证失败求助

解决ghcr.io私有镜像令牌请求401问题

问题核心在于认证方式错误:ghcr.io的令牌发放端点不支持Bearer格式的PAT,必须使用Basic认证——将你的GitHub用户名与PAT组合成用户名:PAT的字符串,经Base64编码后放在Authorization: Basic请求头中。

正确的请求方式

方式1:手动生成Basic认证头

先对用户名和PAT进行Base64编码:

echo -n "$USER_NAME:$GITHUB_TOKEN" | base64

再用编码后的字符串发起请求:

curl -v -H "Authorization: Basic 替换为刚才生成的Base64字符串" "https://ghcr.io/token?service=ghcr.io&scope=repository:$USER_NAME/$IMAGE:pull"

方式2:用curl的-u参数自动处理(更简便)

curl的-u参数会自动完成Basic认证的编码流程,无需手动操作:

curl -v -u "$USER_NAME:$GITHUB_TOKEN" "https://ghcr.io/token?service=ghcr.io&scope=repository:$USER_NAME/$IMAGE:pull"

额外检查项

  • 确认PAT包含package:read权限(私有镜像拉取的必要权限),若镜像属于组织,需确保PAT拥有组织级权限或你是该镜像的权限持有者。
  • 核对$USER_NAME和$IMAGE环境变量的准确性,私有镜像路径格式为用户名/镜像名或组织名/镜像名,避免路径错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 12:59:57