docker换源不生效的原因以及解决方案

 更新时间:2025年02月17日 17:03:06   作者:一颗小小的石头.  
文章讲述了如何更换Docker源以提高镜像拉取速度,但由于一些历史原因,官方和一些自建加速源可能无法完全满足需求,作者通过监控Docker服务状态并找到一个可靠的国内加速源链接,最终解决了Docker源不生效的问题

docker换源不生效

标题背景

网上一大堆教程告诉你如何换源,怎么执行命令,但发现换源之后,docker pull 仍然拉不下来。

云里雾里不知道什么原因?

历史操作

  1. 以阿里云镜像加速为例,它提供了个人维度的加速链接,在这里可以看到 容器镜像服务
  2. 按照上面的操作方式,vim /etc/docker/daemon.json 将个人加速链接配置进去,重启服务
  3. 发现 docker pull golang:1.22-alpine 依然报错,说明没有走到加速镜像
Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  1. 怀疑缓存导致,清理缓存 docker system prune -a
  2. 依然无效后,陷入死锁,在尝试更换了几个源之后没有明显解决。

原因

因为一些历史原因,从24年6月,docker 官方收紧了cn地区的镜像服务,同时,一些自建的镜像加速公有云也并没有完全收录所有镜像开放使用,以上面的阿里云链接为例

它引导用户使用制品中心中的镜像,但那里的镜像种类和版本,与docker官方的几乎不相同,

例如想要获取 golang 镜像,官方的是类似 golang:1.22-alpine ,但制品中心最新的是:

FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/golang:1.19.4-8.6 

看到落后了好几个版本。但这个确实能很快速的拉取下来。

最终方案

由上可知,根本原因还是源本身的问题,还是需要找到可靠稳定的国内加速源链接,这里找到一个docker服务状态监控网站,找到镜像加速一栏,将其加入到/etc/docker/daemon.json后,重新尝试发现拉取镜像加速的概率大了很多

总结

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

相关文章

  • Docker安装MinIO的实现示例

    Docker安装MinIO的实现示例

    本文主要介绍了Docker安装MinIO的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • docker images,info,-d等命令报错的解决方法

    docker images,info,-d等命令报错的解决方法

    最近刚接触Docker,所以在学习的过程中出现了好多的问题,百度上不好找,谷歌的话,楼主不会翻墙。后来通过各方求助和细心研究解决了一些遇到的问题,现在将遇到的问题和解决方法分享给大家,有需要的朋友们可以参考借鉴。
    2016-11-11
  • Docker安装node-red、导入节点、部署查看的步骤详解

    Docker安装node-red、导入节点、部署查看的步骤详解

    Node-RED设计使用的场景是IoT,但是作为一个流编排引擎,显然它能做的事情更多,比如使用容器化的方式进行构建、打包、部署等操作也是可行的,这篇文章继续介绍Docker安装node-red、导入节点、部署查看的相关知识,感兴趣的朋友一起看看吧
    2022-01-01
  • docker实现mysql主从复制的示例代码

    docker实现mysql主从复制的示例代码

    Docker它不香吗?即省去了安装Mysql所需要的步骤,有多个容器之间相互资源独立,IP互不冲突,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • Docker Machine是什么?

    Docker Machine是什么?

    Docker Machine是什么?这篇文章主要介绍了Docker官方提供的一个工具Docker Machine,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 详解在docker中制作自己的JDK+tomcat镜像

    详解在docker中制作自己的JDK+tomcat镜像

    这篇文章主要介绍了详解在docker中制作自己的JDK+tomcat镜像,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • docker常用命令及设置开机自启方式

    docker常用命令及设置开机自启方式

    这篇文章主要介绍了docker常用命令及设置开机自启方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • docker 如何实现磁盘读写

    docker 如何实现磁盘读写

    本文主要介绍了docker实现磁盘读写,包括创建Docker镜像、运行 Docker容器以及在容器中进行磁盘读写操作的步骤和代码示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 如何通过Jenkins定期清理为None的镜像详解

    如何通过Jenkins定期清理为None的镜像详解

    这篇文章主要给大家介绍了关于如何通过Jenkins定期清理为None的镜像的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • docker swarm外部验证负载均衡时不生效的解决方案

    docker swarm外部验证负载均衡时不生效的解决方案

    这篇文章主要介绍了docker swarm外部验证负载均衡时不生效的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04

最新评论