Docker Hub镜像Pull失败的解决全过程

 更新时间:2025年09月12日 08:37:12   作者:lijiachang030718  
文章解决Ubuntu环境下Docker拉取镜像失败问题,分析网络限制、DNS污染及下载速度慢等原因,提出配置国内镜像加速器的解决方案,包括编辑daemon.json并重启Docker服务

引言

在云原生技术火热的当下,Docker可谓是其基础,由于其简单以及方便性,让开发人员不必再为环境配置问题而伤脑筋,因为可将其看作一个虚拟机程序去理解。所以掌握好它可谓是很重要的事情,本文章将解决作者使用Docker时,遇到的一个基础问题,这也是困扰了很多人的问题,在此写篇文章分享给大家。

一、问题

在Ubuntu Linux环境下,docker pull ubuntu:20.04 会报错或卡住(或其它镜像),没办法从Docker Hub下载镜像。

二、原因

  • 网络限制:Docker Hub 的服务器位于国外(registry-1.docker.io),某些地区可能因网络策略(如防火墙、国际带宽限制)导致连接超时或阻断。
  • DNS 污染:部分网络环境中,Docker Hub 的域名解析可能被干扰,无法获取正确的 IP 地址。
  • 下载速度慢:即使能连接,国际带宽的延迟和限速也会导致下载耗时过长甚至失败。

三、解决方法

概括:配置国内镜像加速器

  • vim /etc/docker/daemon.json,没有则自行创建
  • 将下面文本覆盖到上述文件中
{
    "registry-mirrors": [
    "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://your_preferred_mirror",
    "https://dockerhub.icu",
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
    ]
}
  • 重新加载docker配置文件
systemctl daemon-reload
  • 重启docker服务
systemctl restart docker.service

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论