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

AWS Lightsail Ubuntu实例无法从ghcr.io拉取私有Docker镜像

解决Ubuntu 19 Lightsail实例拉取GHCR私有镜像提示Unauthorized的问题

以下是针对该问题的几种排查和解决方法:

  • 检查Docker版本兼容性
    Ubuntu 19默认的Docker版本可能偏旧,GHCR对客户端版本有最低要求(至少18.09)。先查看当前版本:
docker --version

如果版本不达标,执行以下命令升级Docker:

# 卸载旧版本组件
sudo apt-get remove docker docker-engine docker.io containerd runc
# 添加Docker官方仓库
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装最新版Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  • 清理Docker认证缓存
    登录成功后旧的认证缓存可能干扰拉取操作,直接移除认证配置文件后重新登录:
sudo rm -f ~/.docker/config.json
echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
  • 排查网络防火墙规则
    确认Lightsail实例的UFW防火墙允许443端口出站:
# 临时关闭防火墙测试
sudo ufw disable

如果关闭后能正常拉取,再重新配置防火墙规则:

sudo ufw enable
sudo ufw allow out 443/tcp
  • 验证令牌与仓库权限
    再次确认CR_PAT已勾选read:packages权限,且对应的用户拥有目标私有仓库的读取权限。

  • 使用完整镜像路径拉取
    确保拉取命令里的组织名、仓库名、标签完全正确,执行完整路径的拉取命令:

docker pull ghcr.io/org_name/repo_name:latest

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 13:23:11