最近各大高校以及 容器 技术社区,由于众所周不知的原因, 纷纷关闭多个镜像加速站点。 A0g快充网络
这极大地影响了工作效率和开发进度。面对这一困境,本文将为你介绍几种有效的解决方案,帮助你顺利拉取Docker 镜像,继续你的开发工作。A0g快充网络
A0g快充网络
今天就介绍几个方法让拯救你的DockerA0g快充网络
方法1: 某些云镜像加速A0g快充网络
方法2: 使用Docker Hub并将镜像推送到阿里云自有仓库A0g快充网络
方法3:使用Github Action 构建docker镜像A0g快充网络
方法4: 部署DockerHub的代理A0g快充网络
方法5: 镜像仓库 前缀替换A0g快充网络
A0g快充网络
一、某些云镜像加速
这里某些云包括但不限于国内的几大云,XX云、腾讯云、华为云,使用的方法都大同小异,这里介绍华为云的用户A0g快充网络
镜像加速不可用
腾讯云镜像加速器地址:https://mirror.ccs.tencentyun.com A0g快充网络
中国科学技术大学:https://docker.mirrors.ustc.edu.cn A0g快充网络
Docker官方镜像(中国区)镜像加速:https://registry.docker-cn.com A0g快充网络
网易云镜像加速器地址:http://hub-mirror.c.163.com A0g快充网络
南京大学镜像加速器地址:https://docker.nju.edu.cn A0g快充网络
镜像加速可用镜像源
A0g快充网络
华为云的镜像加速地址:XXX.mirror.swr.myhuaweicloud.comA0g快充网络
Daocloud 镜像加速器地址:https://docker.m.daocloud.io A0g快充网络
华为云镜像加速
进入华为云搜索“容器镜像服务 ”或者 "SWR" ,进入控制台A0g快充网络
点击 “镜像资源”---> “镜像中心”---> "镜像加速器"A0g快充网络
A0g快充网络
操作说明A0g快充网络
安装/升级容器引擎客户端
推荐安装1.11.2以上版本的容器引擎客户端A0g快充网络
配置镜像加速器
针对容器引擎客户端版本大于 1.11.2 的用户 以root用户登录容器引擎所在的虚拟机 A0g快充网络
修改“/etc/docker/daemon.json”文件(如果没有,可以手动创建),在该文件内添加如下内容:A0g快充网络
vi / etc/ docker/ daemon. json { "registry-mirrors" : [ "https://你的地址.mirror.swr.myhuaweicloud.com" ] } 按“Esc”,输入 : wq保存并退出。
重启容器引擎
配置完成后,执行systemctl restart docker重启容器引擎。 如果重启失败,则检查操作系统其他位置A0g快充网络
(如:/etc/sysconfig/docker、/etc/default/docker)是否配置了registry-mirrors参数,删除此参数并重启容器引擎即可。A0g快充网络
确认配置结果
执行docker info,当Registry Mirrors字段的地址为加速器的地址时,说明加速器已经配置成功。A0g快充网络
阿里云镜像加速
https://cr.console.aliyun.com/ A0g快充网络
A0g快充网络
镜像加速器
点击"镜像工具"--->镜像加速器A0g快充网络
A0g快充网络
二、使用Docker Hub并将镜像推送到自有仓库
之前写过一篇文章: https://mp.weixin.qq.com/s/OrcBrtrZRwie3Q8eYVfl-A A0g快充网络
画个图说明:A0g快充网络
A0g快充网络
当然也可以打包下载到本地A0g快充网络
docker save busybox > busybox. tar docker load < busybox. tar
三、使用Github Action 构建docker镜像
前置条件
1.可以访问Github,国内环境github时而抽风体质,如果没有科学环境也可以使用 https://github.com/521xueweihan/GitHub520 +SwitchHosts 基本还是可以使用的(有的话就当我没说)。A0g快充网络
2.有个github账号A0g快充网络
3.免费版Action 每天能使用1小时,每个月33小时(基本上够用)。A0g快充网络
参考博主悟空的日常:使用Github Action 构建docker镜像 http://wkdaily.cpolar.cn/archives/gc A0g快充网络
1.要有一个github账号
没有账号就需要注册一个。A0g快充网络
https://github.com A0g快充网络
2.fork项目DockerTarBuilder
fork 叉子叉到自己的仓库中: https://github.com/wukongdaily/DockerTarBuilder A0g快充网络
A0g快充网络
3.点击 Actions
点击Actions选项卡,再点击同意A0g快充网络
A0g快充网络
选择平台,再填入镜像名A0g快充网络
A0g快充网络
4.下载镜像
点击 All workflowsA0g快充网络
A0g快充网络
5.解压恢复镜像
将下载好的压缩包上传到docker宿主机上。A0g快充网络
解压 # unzip docker- images- tar. zip Archive : docker- images- tar. zip inflating : x86- 64 - images. tar. gz 再解压: #tar - zxvf x86- 64 - images. tar. gz # ls - lh alpine: latest- amd64. tar - rw-- -- -- - 1 mysql 127 7 . 8M 7 月 4 16 : 57 alpine : latest- amd64. tar 导入 # docker load < alpine: latest- amd64. tar 导入成功。 # docker images REPOSITORY TAG IMAGE ID CREATED SIZE alpine latest a606584aa9aa 13 days ago 7.8 MB
四、部署DockerHub的代理
1.前置条件
有个github账号A0g快充网络
有个cloudflare账号A0g快充网络
2.访问并fork如下项目到自己的仓库
https://github.com/cmliu/CF-Workers-docker.io A0g快充网络
3.部署到cf的pages服务中
3.1登录cloudflare并点击Worker和Pages
点击 “Worker和Pages”再点 概述A0g快充网络
点击 “点击pages”再点 “连接到Git ”A0g快充网络
A0g快充网络
3.2 点击pages
连接GitHubA0g快充网络
A0g快充网络
容易登录之后A0g快充网络
3.3 选择刚才fork的仓库
A0g快充网络
点击 保存并部署A0g快充网络
构建和部署A0g快充网络
A0g快充网络
继续处理项目A0g快充网络
A0g快充网络
4.访问并记录刚才部署的代理网站
部署成功,点击访问站点。A0g快充网络
A0g快充网络
5.自定义域名
这步不是必须A0g快充网络
因为cloudflare提供的域名太长不利于记忆,可以使用自有的域名,解析A0g快充网络
我这里配置的域名 dockerhub.xgss.net
再域名解析 过来A0g快充网络
A0g快充网络
# ping dockerhub. xgss. net PING cf- workers- docker- io- 1wu. pages. dev ( 172.66 .47 .123 ) 56 ( 84 ) bytes of data. 64 bytes from 172.66 .47 .123 ( 172.66 .47 .123 ) : icmp_seq= 1 ttl= 53 time= 988 ms 64 bytes from 172.66 .47 .123 ( 172.66 .47 .123 ) : icmp_seq= 2 ttl= 53 time= 996 ms
6.修改配置文件
sudo mkdir - p / etc/ docker sudo tee / etc/ docker/ daemon. json << - 'EOF' { "registry-mirrors" : [ "https://docker.fxxk.dedyn.io" ] # 请替换为您自己的Worker自定义域名 } EOF sudo systemctl daemon- reload sudo systemctl restart docker
五、镜像仓库前缀替换
如果由于网络限制,你无法直接访问某些镜像仓库,还可以尝试通过修改镜像仓库前缀来拉取镜像。一些国内的服务商提供了镜像仓库的镜像服务,你可以将原有的仓库前缀替换为对应的国内服务商的前缀。A0g快充网络
例如,将docker.io替换为docker.m.daocloud.io等。这种方法虽然可能不是所有镜像都适用,但能解决一部分镜像拉取问题。A0g快充网络
https://github.com/DaoCloud/public-image-mirror?tab=readme-ov-file#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95 A0g快充网络
总结
以上就是拯救你的Docker 几种方法,希望本文介绍的这些方法能够帮助到你,让你的Docker之旅更加顺畅无阻。A0g快充网络