Docker镜像拉取解决方案合集,总有一款适合你。

本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:羊刀仙

Docker镜像拉取解决方案合集,总有一款适合你。

大家好,我是羊刀仙。

2024年06月的某个时刻,对于许多国内的Docker爱好者来说天都塌了,包括玩NAS的、各类国内服务器的~

因此我们有必要自建Docker镜像服务,可参考本文汇总的几个方案,都很好用

如果你会魔法,可以忽略

不过感兴趣的朋友也可以看看,在评论区留下你的妙法

自建加速常常会用到域名,我之前也发布过免费域名的申请流程,刚好之前的域名到期,这下可用上啦~本文会提供一个我自建的加速地址,就是用的这个域名。

免费获取域名!可托管Cloudflare,享受一切主域名功能待遇,看到别错过!_服务软件_什么值得买

思考到各种问题,本文将不会出现直链,请大家看图中标注。


方案一 自建Cloudflare Workers


⚠️ 前置需求:注册一个Cloudflare,域名一枚(由Cloudflare托管)。

优点:几乎零成本。CloudFlare拥有全球化的CDN网络,加速效果很不错;

劣势:据说 Workers 的政策说明不能做代理,单个服务访问过多有可能封禁。

因此提议大家将配置进行优化,并且部署完毕后完全自用,不要对外开放。

这里也有一个类似的项目,可以做参考。

Docker镜像拉取解决方案合集,总有一款适合你。


方案二 自建镜像加速服务:Docker-Proxy


自建Docker镜像加速服务,基于Docker Registry 项目一键部署Docker、K8s、Quay、Ghcr、Mcr、Nvcr等镜像加速管理服务。支持免服务器部署到RenderKoyeb。

其一 部署到Render(完全免费)

⚠️ 仅需要注册一个Render账户,详情请看文章。

Docker镜像提取失败?10分钟快速解决,简单稳定好用!Cloudflare篇_NAS存储_什么值得买

⚠️ 特别说明:作者dqzboy,大大的Docker Hub仓库账号已被Render特殊对待,提议大家先把镜像下载到自己本地,然后上传到自己的Docker hub仓库。

✅ 关于如何将镜像上传至自己的Docker hub仓库:

打开终端输入以下命令并按提示输入你的 Docker Hub 用户名和密码:

docker login

使用 docker pull 命令拉取上面的镜像,这里以 dqzboy/mirror-hub:latest 举例:

docker pull dqzboy/mirror-hub:latest

给拉下来的镜像打一个新标签,使其指向你的 Docker Hub 用户名。假设你的 Docker Hub 用户名是 yourusername,你可以使用以下命令:

docker tag dqzboy/mirror-hub:latest yourusername/mirror-hub:latest

使用 docker push 命令上传标记的镜像到你的 Docker Hub 仓库:

docker push yourusername/mirror-hub:latest

上传完成后,你可以登录到 Docker Hub 网站,查看你的仓库中是否已经存在刚刚上传的镜像。

其二 Docker部署至海外VPS

⚠️ 前置需求:域名一枚并由Cloudflare托管,海外VPS一个。

除了海外VPS可能需要花钱,没什么缺点。

自建Docker镜像加速服务,免费且简单,服务器VPS、NAS皆可_NAS存储_什么值得买

这种部署方式,整个流程可能看起来稍显繁琐,但是极为稳定,个人较为推荐。


方案三 直接利用海外VPS反向代理


⚠️ 前置需求:海外VPS一个,域名一枚并解析至该服务器上。

为了方便演示并简化流程,我直接使用了 Nginx Proxy Manager(Nginx的图形化反代工具)。

Docker镜像最稳定解法?基于VPS服务器自建加速_网络存储_什么值得买

该方案比较简单且直接,也是我较为推荐的方法。


使用方法


经过我们的不懈努力,终于得到了镜像加速地址。图中地址自取,大家可以免费拿去用。

Docker镜像拉取解决方案合集,总有一款适合你。

威联通NAS用户可以在存储库中按照上图所示,直接添加新的存储库即可。

如果通过Docker Compose部署仅需修改以下位置:

旧:images: linuxserver/emby 新:images: 域名/linuxserver/emby

如果通过常规的SSH控制台拉取镜像:

原命令:docker pull linuxserver/emby 现命令:docker pull 域名/linuxserver/emby

也可在 docker 的 daemon.json 配置文件中添加上代理域名,然后重启docker程序:

vim /etc/docker/daemon.json # 输入该命令后进行进入编辑界面 # 切换成英文状态进行编辑 { “registry-mirrors”: [“https://这里改为上面的域名”], “log-opts”: { “max-size”: “100m”, “max-file”: “5” } } # 编辑完毕后,按ESC并回车,同时按shift和冒号,输入wq并回车即可保存退出 # 重启docker后生效 systemctl restart docker

如果你有多个加速地址:

{ “registry-mirrors”: [ “
https://mirror1.example.com”, “
https://mirror2.example.com”, “
https://mirror3.example.com” ], “log-opts”: { “max-size”: “100m”, “max-file”: “5” } } # 重启docker后生效 systemctl restart docker


Docker镜像拉取解决方案合集,总有一款适合你。


最后


觉得麻烦或者实在搞不懂的朋友,可以自取文中我自建的加速地址应急。

评论区欢迎各位留言交流。

如果大伙儿觉得本篇内容还不错,别忘了三连支持下,能点点关注就更好了!后续我还会持续分享各类教程以及有趣好玩的项目。

感谢观看,本文完~

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
贰马哥的头像 - 宋马社区
评论 共10条

请登录后发表评论