GitHub Container Registry (GHCR) 的访问权限或认证问题 导致的。以下是具体解决步骤:
1. 原因分析
GHCR 是 GitHub 的容器镜像仓库,部分镜像(尤其是私有仓库的镜像)需要先通过 GitHub 账号认证才能拉取。若未登录或登录的账号没有该镜像的访问权限,会出现 denied 错误。
2. 解决步骤
步骤 1:登录 GitHub Container Registry (GHCR)
需要使用 GitHub 账号登录 GHCR,登录时需提供:
- 用户名:你的 GitHub 账号用户名
- 密码:需使用 GitHub 的 个人访问令牌(PAT)(而非 GitHub 账号密码,因为 GitHub 已不支持直接用密码登录第三方服务)
生成 PAT 的方法:
- 至少勾选 read:packages(用于拉取镜像)
- 若需要推送镜像,可额外勾选 write:packages
登录命令:
docker login ghcr.io
执行后,按提示输入:
- 用户名:你的 GitHub 用户名
- 密码:刚才生成的 PAT

步骤 2:重新拉取镜像
登录成功后,再次尝试拉取:
docker pull ghcr.io/ranui/document:latest
步骤 3:检查镜像访问权限(若仍失败)
如果登录后仍提示 denied,可能是因为:
- 该镜像属于 私有仓库,而你的 GitHub 账号没有被授权访问 ranui/document 仓库
- 镜像标签 latest 不存在(或已被删除)
此时需:
- 确认你是否有权限访问 ranui/document 这个 GitHub 仓库(联系仓库所有者授权)
- 检查镜像标签是否正确(例如是否应为 v1.0 等其他标签)
3. 补充说明
若你不需要长期登录,后续可使用 docker logout ghcr.io 退出登录



