docker 已经配置了国内镜像源,但是拉取镜像速度还是很慢(gcr.io、quay.io、ghcr.io)

前言

国内用户在使用 docker 时,想必都遇到过镜像拉取慢的问题,那是因为 docker 默认指向的镜像下载地址是 https://hub.docker.com,服务器在国外。

网上有关配置 docker 国内镜像源的教程很多,像 腾讯、阿里、网易 等等都会提供镜像仓库,自行配置下即可。

一般配置完镜像源后,拉取镜像都会快不少,但是目前我配置了镜像源了,拉取镜像速度还是非常的慢。最终发现是配置的镜像源没有对应的镜像仓库(ghcr.io)的资源。

我的解决方式

由于我需要拉取的镜像使用者比较少,国内的源都没有资源,最终还是找了一台能上外网的机器,拉取镜像后保存下来再转移到目标机器。

使用了 dockersave load 转移。

shell 复制代码
# 能上外网的机器拉取并保存
docker pull 镜像名:tag
docker save 镜像名:tag > 1.tar

# 目标机器
docker load < 1.tar

这里提一下,若是没有机器能够上外网,可以试试 DaoCloud ,不过我试了貌似没什么用。

镜像仓库、镜像源

首先需要了解下镜像仓库和镜像源

名词 解释
镜像仓库 镜像的存放地址,类似 docker.io, ghcr.io
镜像源 国内提供的加速器,例如网易的 http://hub-mirror.c.163.com

常见的镜像仓库

  • docker.ioDocker Hub 官方镜像仓库,也是 Docker 默认的仓库
  • gcr.iok8s.gcr.io:谷歌镜像仓库
  • quay.ioRed Hat 镜像仓库
  • ghcr.ioGitHub 镜像仓库

常见的国内镜像源

  • 中国区官方镜像: https://registry.docker-cn.com
  • 清华源: https://docker.mirrors.ustc.edu.cn
  • 阿里源: https://cr.console.aliyun.com
  • 腾讯源: https://mirror.ccs.tencentyun.com
  • 网易源: http://hub-mirror.c.163.com

这篇文章 的图很好,下图是直接拿过来的。

如何配置镜像源

这里提一下如何配置镜像源吧,记得修改完成后需重启 docker

linux(非 Docker Desktop)

shell 复制代码
# 修改 daemon.json,若是没有该文件则创建
sudo vi /etc/docker/daemon.json
# 添加 registry-mirrors 
{
 "registry-mirrors": ["https://registry.docker-cn.com","https://hub-mirror.c.163.com","https://docker.m.daocloud.io"]
}

Docker Desktop (windows/mac/linux)

打开 Docker Desktop 窗口,找到 设置 -> Docker Enginejson 中添加 registry-mirrors 数组即可。

总结

docker 拉取镜像慢,通常配置了国内镜像源后,速度可以得到极大的改善。

但若是配置了镜像源后,拉取镜像还是非常慢,那就需要自己想想办法搭个梯子直接从外网拉取镜像。

参考

相关推荐
杨浦老苏31 分钟前
开源一体化白板工具Drawnix
docker·群晖·图片·白板
geek_super1 小时前
Docker学习--容器的root文件系统(rootfs)命令--docker diff 命令
docker
欧先生^_^1 小时前
docker的文件系统Overlay2
运维·docker·容器
小刘爱喇石( ˝ᗢ̈˝ )2 小时前
玛卡巴卡的k8s知识点问答题(六)
云原生·容器·kubernetes
rider1892 小时前
【1】搭建k8s集群系列(二进制部署)之系统初始化
云原生·容器·kubernetes
阳小江3 小时前
Docker知识点
运维·docker·容器
极客柒4 小时前
RustDesk 开源远程桌面软件 (支持多端) + 中继服务器伺服器搭建 ( docker版本 ) 安装教程
服务器·docker·开源
小刘爱喇石( ˝ᗢ̈˝ )4 小时前
玛卡巴卡的k8s知识点问答题(七)
云原生·容器·kubernetes
方渐鸿5 小时前
【2025】快速部署安装docker以及项目搭建所需要的基础环境(mysql、redis、nginx、nacos)
java·运维·docker·持续部署·dockercompse
{⌐■_■}6 小时前
【Kubernetes】如何使用 kubeadm 搭建 Kubernetes 集群?还有哪些部署工具?
云原生·容器·kubernetes