Docker登录ghcr.io遇daemon socket权限错误 改777权限后终端无响应
问题解决步骤
1. 终止当前卡住的进程
- 按
Ctrl + C结束当前无响应的docker login进程。
2. 修复Docker套接字权限(替换不安全的777权限配置)
chmod 777 /var/run/docker.sock属于临时且有极高安全风险的操作,Docker服务重启后权限会自动重置,正确配置方式如下:
- 将当前用户加入docker用户组,执行命令:
sudo usermod -aG docker $USER
- 无需重启系统即可加载用户组配置,执行:
newgrp docker
- 验证权限配置是否生效,执行
docker ps,无权限报错即为配置正常。
3. 重新执行GHCR登录操作
- 先确认CR_PAT环境变量是否有效,执行:
echo $CR_PAT
如果输出为空,说明之前的export操作已失效,需要重新执行
export CR_PAT=<你的GitHub个人访问令牌>,注意令牌需要提前勾选read:packages权限才能正常拉取GHCR镜像。
- 变量确认无误后,重新执行登录命令:
echo $CR_PAT | docker login ghcr.io --password-stdin -u <你的GitHub用户名>
- 正常情况会返回
Login Succeeded提示。
4. 仍卡住的排查方案
- 执行
ping ghcr.io检查本地网络到GHCR的连通性。 - 检查Docker是否配置了无效代理,代理异常会导致登录请求无响应。
- 加
-D参数启用debug模式执行登录,可查看具体卡滞环节:
echo $CR_PAT | docker -D login ghcr.io --password-stdin -u <你的GitHub用户名>
内容的提问来源于stack exchange,提问作者DrT
相关产品推荐
相关产品推荐

