欢迎光临
我们一直在努力

docker登录ghcr.io

GitHub Container Registry (GHCR) 的访问权限或认证问题 导致的。以下是具体解决步骤:

1. 原因分析

GHCR 是 GitHub 的容器镜像仓库,部分镜像(尤其是私有仓库的镜像)需要先通过 GitHub 账号认证才能拉取。若未登录或登录的账号没有该镜像的访问权限,会出现 denied 错误。

2. 解决步骤

步骤 1:登录 GitHub Container Registry (GHCR)

需要使用 GitHub 账号登录 GHCR,登录时需提供:

  • 用户名:你的 GitHub 账号用户名
  • 密码:需使用 GitHub 的 个人访问令牌(PAT)(而非 GitHub 账号密码,因为 GitHub 已不支持直接用密码登录第三方服务)

生成 PAT 的方法:

  • 打开 GitHub 官网,登录你的账号
  • 进入 Settings(右上角头像 -> Settings)
  • 左侧菜单选择 Developer settings -> Personal access tokens -> Tokens (classic)
  • 点击 Generate new token -> Generate new token (classic)
  • 填写描述(如 ghcr-login),并勾选必要权限:
    • 至少勾选 read:packages(用于拉取镜像)
    • 若需要推送镜像,可额外勾选 write:packages
  • 点击 Generate token,复制生成的令牌(仅显示一次,务必保存)
  • 登录命令:

    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 退出登录

    赞(0)
    未经允许不得转载:171主机测评 » docker登录ghcr.io
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址