执行docker push到GitHub时出现‘Cookies must be enabled’错误的原因?
问题根源
你用错了GitHub容器镜像仓库的地址格式。GitHub的容器注册表(GHCR)并非以github.com作为域名前缀,而是需要使用ghcr.io。直接推送github.com/foo/bar时,Docker会尝试访问GitHub的网页服务,而网页端要求启用Cookie验证,但Docker客户端不处理网页的Cookie逻辑,因此触发该错误。
解决步骤
重新标记镜像:将你的镜像改为GHCR要求的格式,执行命令:
docker tag github.com/foo/bar ghcr.io/foo/bar:latest若尚未给镜像打标签,也可在构建阶段直接使用正确格式:
docker build -t ghcr.io/foo/bar:latest .登录GitHub容器注册表:使用GitHub用户名和带权限的个人访问令牌(PAT)登录,命令如下:
docker login ghcr.io输入用户名后,密码栏填写你的PAT(需勾选
write:packages、read:packages权限,未生成的话可前往GitHub设置页面创建)。重新推送镜像:使用正确地址执行推送:
docker push ghcr.io/foo/bar:latest
额外注意点
- 确保你的GitHub账号拥有目标仓库的容器镜像操作权限。
- 若推送至组织仓库,标签格式应为
ghcr.io/组织名/仓库名:标签。
内容的提问来源于stack exchange,提问作者guettli
相关产品推荐
相关产品推荐

