🎬 HoRain 云小助手:个人主页
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
目录
在 Docker 中拉取阿里云镜像仓库(ACR)时出现错误,通常与 认证失败、网络配置 或 镜像地址格式 有关。以下是常见问题及解决方法:
1. 认证失败:未登录或凭证错误
错误提示
Error response from daemon: Get "https://registry.cn-hangzhou.aliyuncs.com/v2/": unauthorized: authentication required
解决方法
-
登录阿里云镜像仓库:
docker login --username=<阿里云账号> registry.cn-hangzhou.aliyuncs.com
<阿里云账号>
:需替换为你的阿里云账号全名(如user@example.com
),而非阿里云昵称。- 密码:如果在控制台未设置密码,需前往 容器镜像服务控制台 → 访问凭证 → 设置固定密码或创建访问令牌(AccessToken)。
-
检查登录状态:
cat ~/.docker/config.json # 查看保存的凭证
2. 镜像地址格式错误
错误提示
Error response from daemon: manifest for registry.cn-hangzhou.aliyuncs.com/namespace/repo:tag not found
解决方法
-
确认镜像地址格式:
- 阿里云镜像地址格式为:
示例:registry.<region>.aliyuncs.com/<namespace>/<repository>:<tag>
registry.cn-hangzhou.aliyuncs.com/my-namespace/my-app:v1
- 阿里云镜像地址格式为:
-
检查参数是否缺失:
- 确认
namespace
(命名空间)、repository
(仓库名)和tag
是否存在。 - 登录 ACR控制台 查看镜像完整地址。
- 确认
3. 网络问题(连接超时或拒绝)
错误提示
Error response from daemon: Get "https://registry.cn-hangzhou.aliyuncs.com/v2/": dial tcp: lookup registry.cn-hangzhou.aliyuncs.com: no such host
解决方法
-
检查 DNS 解析:
ping registry.cn-hangzhou.aliyuncs.com # 测试域名解析
- 若无法解析,修改 DNS 服务器地址(如
114.114.114.114
或8.8.8.8
)。
- 若无法解析,修改 DNS 服务器地址(如
-
配置阿里云镜像加速器(推荐):
- 编辑 Docker 配置文件
/etc/docker/daemon.json
:{ "registry-mirrors": ["https://<加速器地址>.mirror.aliyuncs.com"] }
- 重启 Docker:
sudo systemctl restart docker
- 加速器地址需从 ACR控制台 获取(路径:实例列表 → 镜像加速器)。
- 编辑 Docker 配置文件
-
检查防火墙/代理:
- 确保允许访问阿里云镜像仓库的端口(默认
443
)。 - 若使用代理,配置 Docker 代理:
mkdir -p /etc/systemd/system/docker.service.d echo '[Service] Environment="HTTP_PROXY=http://proxy-ip:port" Environment="HTTPS_PROXY=http://proxy-ip:port"' > /etc/systemd/system/docker.service.d/proxy.conf systemctl daemon-reload systemctl restart docker
- 确保允许访问阿里云镜像仓库的端口(默认
4. SSL/TLS 证书问题
错误提示
Error response from daemon: Get "https://registry.cn-hangzhou.aliyuncs.com/v2/": x509: certificate signed by unknown authority
解决方法
-
更新 CA 证书:
sudo apt-get update && sudo apt-get install ca-certificates # Debian/Ubuntu sudo yum update ca-certificates -y # CentOS/RHEL
-
临时绕过验证(仅测试环境):
- 在 Docker 配置中禁用 TLS 验证(不推荐):
{ "insecure-registries": ["registry.cn-hangzhou.aliyuncs.com"] }
- 重启 Docker 生效。
- 在 Docker 配置中禁用 TLS 验证(不推荐):
5. 私有仓库权限不足
错误提示
Error response from daemon: denied: requested access to the resource is denied
解决方法
- 检查镜像仓库的访问权限:
- 登录 ACR 控制台 → 进入仓库 → 访问控制 → 确认账号是否具有
Pull
权限。 - 如果是私有仓库,确保已正确登录且账号在授权列表中。
- 登录 ACR 控制台 → 进入仓库 → 访问控制 → 确认账号是否具有
6. 其他排查工具
-
查看详细错误日志:
docker pull --debug registry.cn-hangzhou.aliyuncs.com/namespace/repo:tag
-
检查 Docker 服务状态:
systemctl status docker # 确保 Docker 正在运行 journalctl -u docker.service -f # 查看实时日志
总结步骤
- 登录镜像仓库:
docker login
+ 正确账号密码。 - 验证镜像地址:确保地域、命名空间、仓库名和标签正确。
- 检查网络/DNS:使用
ping
或curl
测试连通性。 - 配置镜像加速器:提升拉取速度和稳定性。
- 检查权限:确保账号有
Pull
权限。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙