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

运行docker-compose up拉取公开GHCR镜像遭权限拒绝问题求助

问题:拉取公开GHCR镜像时提示未授权错误

环境与操作

尝试运行docker-compose up启动服务,环境变量定义在.env文件中,使用的docker-compose.yml配置如下:

version: "3.4"

services:
  ib-gateway:
    image: ghcr.io/unusualalpha/ib-gateway:latest
    restart: always
    environment:
      TWS_USERID: ${TWS_USERID}
      TWS_PASSWORD: ${TWS_PASSWORD}
      TRADING_MODE: ${TRADING_MODE:-live}
      VNC_SERVER_PASSWORD: ${VNC_SERVER_PASSWORD:-}
    ports:
      - "127.0.0.1:4001:4001"
      - "127.0.0.1:4002:4002"
      - "127.0.0.1:5900:5900"

相关镜像的代码仓库为UnusualAlpha/ib-gateway-docker。

遇到的错误

执行命令后出现如下错误:

PS C:\Users\rapha\Documents\Github\ib-gateway-docker> docker-compose up
Running 0/1
ib-gateway Error                                                                                                0.5s
Error response from daemon: Head "https://ghcr.io/v2/unusualalpha/ib-gateway/manifests/latest": denied: denied

直接访问上述URL返回:

{"errors":[{"code":"UNAUTHORIZED","message":"authentication required"}]}

困惑点

  • 另一台机器执行完全相同的操作却能正常运行
  • 该仓库是公开的,理论上无需登录即可拉取

可能的原因

  • Docker残留的GHCR认证信息:本地Docker客户端之前登录过GHCR,当前认证状态异常(比如token过期),导致拉取公开镜像时也被要求认证。执行docker logout ghcr.io清除认证后再尝试拉取。
  • 网络环境限制:当前机器的代理、防火墙或内网规则拦截了GHCR请求,或者代理配置导致请求被识别为需要认证。可以切换到无代理网络(如手机热点)测试,或检查代理的镜像仓库访问规则。
  • 镜像标签/仓库权限临时异常:尽管仓库是公开的,但latest标签对应的镜像可能被临时设置为私有,或者仓库权限出现短暂波动。可以尝试指定具体版本标签(查看仓库的发布版本)替代latest。
  • Docker版本兼容性问题:本地Docker或docker-compose版本过旧,对GHCR的API协议支持不完善。升级到最新稳定版后再测试。
  • DNS解析异常:本地DNS缓存错误导致请求被导向错误服务器,触发认证提示。刷新本地DNS缓存,或更换公共DNS服务器(如8.8.8.8)重试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 12:25:17