当前位置: 首页 > ai >正文

配置 Docker 镜像加速,解决 docker pull 拉取镜像失败、docker search 查询镜像失败等问题

一、概述

记录时间 [2025-08-16]


在 Docker 学习中,可能会遇到诸如 docker 远程仓库无法访问、docker pull 拉取镜像失败、docker search 查询镜像失败等问题。

这是由于国内网络对 docker 远程仓库的访问受到限制。

那么在国内如何获取 docker 镜像呢?

  • 最全面、直接的方式是请求获取 Docker Hub 仓库,但是访问受限。
  • 国内访问受限,需要配置国内镜像源以加速镜像获取。这些镜像源由国内的各大厂商维护。
  • 对于热门 docker 仓库,国内加速镜像更新还算及时。但是,它们不会全量缓存 Docker Hub 仓库,因此有些镜像更新不及时。

本文用于总结 docker 镜像加速相关内容,主要包括汇总国内可用镜像源地址;在 Linux(Centos7)中配置 docker 镜像加速;解决 docker pull 拉取镜像失败、docker search 查询镜像失败等问题。



二、汇总国内可用镜像源

以下整理了一些国内可用镜像源地址,可用于配置 docker 镜像加速。

由于镜像源需要长期维护,可能会出现变更或失效的问题,欢迎读者补充更正。


名称镜像源地址支持
DaoCloud 镜像站https://docker.m.daocloud.io/支持 Docker Hub、GCR、K8S、GHCR、Quay、NVCR 等
网易云https://hub-mirror.c.163.com支持 Docker Hub
Docker 镜像代理https://dockerproxy.com/支持 Docker Hub、GCR、K8S、GHCR
百度云https://mirror.baidubce.com/支持 Docker Hub
南京大学镜像站https://docker.nju.edu.cn/支持 Docker Hub、GCR、GHCR、Quay、NVCR 等
上海交大镜像站https://docker.mirrors.sjtug.sjtu.edu.cn/支持 Docker Hub、GCR 等
阿里云加速地址https://xxx.mirror.aliyuncs.com/支持 Docker Hub,需要登录使用
腾讯云https://mirror.ccs.tencentyun.com
Docker 镜像加速https://docker-0.unsee.tech/可用于 docker search


三、配置国内镜像源

接下来讲述 docker 在 Linux(Centos7)中的配置和使用。

详细配置内容可参考这篇文章——Centos7 中 Docker 使用,镜像、容器,以及操作等常用命令小结


使用镜像源进行镜像加速服务有 2 种方式:

  • 直接使用:对特定镜像进行加速;
  • 长久配置:修改配置文件,全局配置镜像加速。

在 docker 学习中,需要使用镜像加速的地方有:

  • docker pull:从远程仓库拉取镜像;
  • docker search:从远程仓库搜索镜像。

这两个操作有一点区别,文章后面再讲。


1. docker pull

先讲加速 docker pull 操作。

默认从官方 Docker Hub 中获取镜像的时候,命令如下:

docker pull mysql:5.7

表示从远程仓库中下载镜像名为 mysql,版本为 5.7 的 docker 镜像。

默认的访问往往会超时、失败。

配置国内镜像源可以加快 docker pull 拉取镜像的速度。


2. 对特定镜像进行加速

如果只想对特定镜像进行加速,可以直接使用完整的 代理/镜像域名 拼接 官方镜像名。(具体根据镜像源的规则来)

例如:

  • 要拉取镜像 istio/distroless
  • 选择一个可用镜像源 docker-0.unsee.tech
  • 进行命令拼接如下。
docker pull docker-0.unsee.tech/istio/distroless

又或者:

docker pull docker.1panel.live/library/python:3.11
docker pull docker.1panel.live/library/mysql:5.7

3. 修改配置文件

针对长久配置,需要修改配置文件,全局配置镜像加速。

配置文件:/etc/docker/daemon.json(如果不存在则需要创建)

创建配置目录

sudo mkdir -p /etc/docker/

写入配置

registry-mirrors 中写入所有的可用镜像源地址,实际使用时 docker 会按顺序依次尝试

建议把常用的镜像源地址写在最前面,后面的充当备用。


sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.m.daocloud.io/","https://hub-mirror.c.163.com","https://dockerproxy.com/","https://mirror.baidubce.com/","https://docker.nju.edu.cn/","https://docker.mirrors.sjtug.sjtu.edu.cn/","https://mirror.ccs.tencentyun.com","https://docker-0.unsee.tech","https://register.liberx.info/","https://docker.registry.cyou/","https://docker-cf.registry.cyou/","https://dockercf.jsdelivr.fyi/","https://docker.jsdelivr.fyi/","https://dockertest.jsdelivr.fyi/","https://mirror.iscas.ac.cn/","https://docker.rainbond.cc/","https://mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn/"]
}
EOF

重启 docker 服务

sudo systemctl daemon-reload && sudo systemctl restart docker

检查镜像配置是否生效:

docker info

在 Registry Mirrors 中可以查看加载完成的镜像源地址。


使用

配置完镜像源后,再使用 docker pull 命令如下:

docker pull mysql:5.7

发现拉取镜像的速度变快了,也不用在镜像前面加前缀了。



四、docker search

1. 配置的镜像源失效

docker search 是用来在 Docker Hub 中搜索可用镜像的命令。

例如:以下命令表示搜索镜像名为 mysql,版本为 5.7 的 docker 镜像。

docker search mysql:5.7

前面说 docker searchdocker pull 有一点区别,就是:

配置国内镜像源(在 daemon.json 文件中配置的镜像地址)可以加快 docker pull 拉取镜像的速度。

但是,配置国内镜像源是对 docker search 没有用的,因为这个命令使用的仍然是 docker 默认搜索地址,在国内就会造成超时

这也是造成 “docker pull 能成功,但是 docker search 却失败” 的原因。


2. 解决方法

在使用 docker search 命令搜索镜像时,要加上指定源的域名。


这里使用的是 docker-0.unsee.tech,它是一个提供 Docker Hub 镜像加速服务的网站,功能如下:

  • 帮助用户快速拉取官方镜像;
  • 搜索官方镜像

具体的使用方法如下:

例如,搜索 mysql5.7 的命令:

docker search docker-0.unsee.tech/mysql:5.7

这个网站的页面如下:

也可以通过搜索框来搜索 Docker Hub 镜像。


在这里插入图片描述



在这里插入图片描述



参考资料

Docker Hub - http://hub.docker.com

Centos7 中 Docker 使用,镜像、容器,以及操作等常用命令小结 - https://blog.csdn.net/Sareur_1879/article/details/137479996

Docker Hub 镜像加速服务 - https://docker-0.unsee.tech/

解决目前DockerHub国内无法访问方法汇总 - https://www.cnblogs.com/ppqppl/articles/18499797

Docker Search失败,但是Pull成功的解决方法 - https://blog.csdn.net/weixin_45391996/article/details/143703963

docker search 超时 - https://developer.aliyun.com/article/1662509

2025最新国内服务器可用docker源仓库地址大全(2025年8月更新) · DockerHub镜像加速全面指南 - https://zhuanlan.zhihu.com/p/1936728250236769211

http://www.xdnf.cn/news/17938.html

相关文章:

  • 数据库Microsoft Access、SQL Server和SQLite三者对比及数据库的选型建议
  • Win11和Win10共享打印机提示709用添加Windows凭据来解决的小方法
  • 【UHD】vivado 2021.1 编译
  • 接口自动化测试框架搭建
  • maven与maven-archetype-plugin版本匹配问题
  • 一周学会Matplotlib3 Python 数据可视化-绘制绘制甘特图
  • 跑实验记录
  • Python Day30 CSS 定位与弹性盒子详解
  • python---内置函数
  • 微服务之注册中心与ShardingSphere关于分库分表的那些事
  • 【手撕JAVA多线程】1.从设计初衷去看JAVA的线程操作
  • Camera相机人脸识别系列专题分析之十九:MTK ISP6S平台FDNode原生代码
  • 【自动化运维神器Ansible】Ansible比较操作符详解:从基础到实战应用
  • 笔试——Day40
  • AI生成视频开源模型技术解析
  • 算法题打卡力扣第42题接雨水(hard)
  • OpenJDK 17的C1和C2编译器实现中,方法返回前插入安全点(Safepoint Poll)的机制
  • 拒绝造轮子(C#篇)ZLG CAN卡驱动封装应用
  • 贺雨禾《梨花往事》北京首映,“野草型演员”深耕走出新赛道
  • 第4问 常见的指标有哪些?
  • 【CVPR2025】计算机视觉|GIFNet:一个模型实现所有图像融合任务!还能增强画质?!
  • [1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
  • 【Qt开发】常用控件(四)
  • 《深度解构:构建浏览器端Redis控制台的WebSocket协议核心技术》
  • 开源 Arkts 鸿蒙应用 开发(十八)通讯--Ble低功耗蓝牙服务器
  • Flink Stream API 源码走读 - window 和 sum
  • 前端开发入门书籍推荐:Vue.js 3与前端基础的完美组合
  • 九尾狐未来机械锂晶核
  • 数据结构:满二叉树 (Full Binary Tree) 和 完全二叉树 (Complete Binary Tree)
  • Three.js三大组件:场景(Scene)、相机(Camera)、渲染器(Renderer)