Docker Hub 镜像 Pull 失败的解决方案

目录

  • 引言
  • 一、问题
  • 二、原因
  • 三、解决方法
  • 四、参考文献

引言

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

一、问题

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

二、原因

  • 网络限制:Docker Hub 的服务器位于国外(registry-1.docker.io),某些地区可能因网络策略(如防火墙、国际带宽限制)导致连接超时或阻断。

  • DNS 污染:部分网络环境中,Docker Hub 的域名解析可能被干扰,无法获取正确的 IP 地址。

  • 下载速度慢:即使能连接,国际带宽的延迟和限速也会导致下载耗时过长甚至失败。

三、解决方法

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

  1. vim /etc/docker/daemon.json,没有则自行创建

  2. 将下面文本覆盖到上述文件中

{
    "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"
    ]
}
  1. 重新加载docker配置文件
    systemctl daemon-reload

  2. 重启docker服务
    systemctl restart docker.service

四、参考文献

  • 链接:来自“桂花煮柚子”同学的评论

你可能感兴趣的:(Docker,docker,容器,运维,程序人生,经验分享,笔记,学习方法)