DockerHub无法访问,国内镜像拉取迂回解决方案

2024-06-15 06:52

本文主要是介绍DockerHub无法访问,国内镜像拉取迂回解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

无法访问后,主要存在以下几个问题:

  1. 无法进行镜像的搜索
  2. 无法查看镜像相关的使用说明
  3. 无法直接拉取镜像
    对于第二点,目前没啥解决思路,主要针对第一点和第三点。

解决无法搜索镜像

目前仅可以解决部分问题,在知道镜像名称的情况下,可以获取当前该镜像的所有tag。不知道名称就没办法了。下面是方案:
进入搜索网站: https://explore.ggcr.dev/
在下面输入镜像名称,搜索镜像所有tag,比如搜索 azul/zulu-openjdk 的所有tag:
![](https://img-blog.csdnimg.cn/direct/e1de57ca608e4ae38f02a0a89c68c0ea.png
搜索结果:
在这里插入图片描述

解决镜像无法拉取

有人整理了目前可用的国内镜像加速器列表,但是很不乐观,大部分都停服了。大佬整理的列表如下:

https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6

上面链接也提到了可以自建镜像加速器,薅大善人 Cloudflare 的羊毛,但是,这个方法需要自己有一个域名,也有一定的成本。

常用镜像仓库的拉取

常用镜像仓库比如node go openjdk等,Daocloud已经帮忙做了镜像,可以直接在Daocloud拉取,详细镜像了的列表如下:
https://docs.daocloud.io/community/mirror.html
建议优先在这里拉取

其他镜像仓库的拉取

其他仓库拉取有两个方案 1 是借用Daocloud提供的镜像同步功能 2 是使用大善人阿里云的私有仓库,建一个个人版白嫖,下面依次说明

借用Daocloud提供的镜像同步功能

请参考 https://github.com/DaoCloud/public-image-mirror
不过貌似最近要限流和前缀,建议自己弄个同步,参考第二个方案。

使用大善人阿里云的私有仓库,建一个个人版白嫖

该方案大概分为两个部分,一是阿里云的ACR可以创建个人版,限额三百个仓库免费使用,一般来说足够了,我们直接用个人版。二是我们使用github actions,github的机器可以下载docker.io等各大仓库的镜像,在guthub actions里面下载以后推到阿里云上,后续就可以使用了。

  1. 创建阿里云个人版镜像仓库
    登入阿里云,进入ACR服务,创建个人版实例:

在这里插入图片描述

进入实例,创建命名空间,让选代码仓库的时候直接选最后一个没有仓库。建议创建成私有的。在这里插入图片描述
设置访问凭证:
在这里插入图片描述
收集 仓库地址 用户名 命名空间 密码

  1. github使用actions搬运镜像
    直接 fork仓库: https://github.com/anjia0532/gcr.io_mirror
    感谢大佬的搬运脚本!

fork到自己的仓库后,进行下列设置:

设置打开Issue:
在这里插入图片描述
在这里插入图片描述
设置Actions权限:
在这里插入图片描述
在这里插入图片描述

设置Actions环境变量:
在这里插入图片描述
添加这四个变量:
DOCKER_REGISTRY 仓库地址
DOCKER_USER 用户名
DOCKER_PASSWORD 密码
DOCKER_NAMESPACE 命名空间

设置Actions:
在这里插入图片描述
把这个启用。

设置Issue的label:
随便新增一个Issue,然后在labels那里新增一个label 名字是 porter
在这里插入图片描述

大功告成,关掉刚才的issue,新增一个镜像同步issue:

在这里插入图片描述
直接写自己要同步的镜像即可,比如 docker.io/azul/zulu-openjdk:21.0.3-jre-headless 注意,中心仓库的也要带域名docker.io,效果如下:
在这里插入图片描述
稍等一会,机器人就会同步成功了:
在这里插入图片描述

这篇关于DockerHub无法访问,国内镜像拉取迂回解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1062726

相关文章

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危

Xshell远程连接失败以及解决方案

《Xshell远程连接失败以及解决方案》本文介绍了在Windows11家庭版和CentOS系统中解决Xshell无法连接远程服务器问题的步骤,在Windows11家庭版中,需要通过设置添加SSH功能并... 目录一.问题描述二.原因分析及解决办法2.1添加ssh功能2.2 在Windows中开启ssh服务2

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

python 字典d[k]中key不存在的解决方案

《python字典d[k]中key不存在的解决方案》本文主要介绍了在Python中处理字典键不存在时获取默认值的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录defaultdict:处理找不到的键的一个选择特殊方法__missing__有时候为了方便起见,

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

SpringBoot嵌套事务详解及失效解决方案

《SpringBoot嵌套事务详解及失效解决方案》在复杂的业务场景中,嵌套事务可以帮助我们更加精细地控制数据的一致性,然而,在SpringBoot中,如果嵌套事务的配置不当,可能会导致事务不生效的问题... 目录什么是嵌套事务?嵌套事务失效的原因核心问题:嵌套事务的解决方案方案一:将嵌套事务方法提取到独立类

Spring Boot实现多数据源连接和切换的解决方案

《SpringBoot实现多数据源连接和切换的解决方案》文章介绍了在SpringBoot中实现多数据源连接和切换的几种方案,并详细描述了一个使用AbstractRoutingDataSource的实... 目录前言一、多数据源配置与切换方案二、实现步骤总结前言在 Spring Boot 中实现多数据源连接

MySQL的索引失效的原因实例及解决方案

《MySQL的索引失效的原因实例及解决方案》这篇文章主要讨论了MySQL索引失效的常见原因及其解决方案,它涵盖了数据类型不匹配、隐式转换、函数或表达式、范围查询、LIKE查询、OR条件、全表扫描、索引... 目录1. 数据类型不匹配2. 隐式转换3. 函数或表达式4. 范围查询之后的列5. like 查询6

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War