本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:羊刀仙
大家好,我是羊刀仙。
2024年06月的某个时刻,对于许多国内的Docker爱好者来说天都塌了,包括玩NAS的、各类国内服务器的~
因此我们有必要自建Docker镜像服务,可参考本文汇总的几个方案,都很好用
如果你会魔法,可以忽略
不过感兴趣的朋友也可以看看,在评论区留下你的妙法
自建加速常常会用到域名,我之前也发布过免费域名的申请流程,刚好之前的域名到期,这下可用上啦~本文会提供一个我自建的加速地址,就是用的这个域名。
免费获取域名!可托管Cloudflare,享受一切主域名功能待遇,看到别错过!_服务软件_什么值得买
思考到各种问题,本文将不会出现直链,请大家看图中标注。
方案一 自建Cloudflare Workers
⚠️ 前置需求:注册一个Cloudflare,域名一枚(由Cloudflare托管)。
✅ 优点:几乎零成本。CloudFlare拥有全球化的CDN网络,加速效果很不错;
❌ 劣势:据说 Workers 的政策说明不能做代理,单个服务访问过多有可能封禁。
因此提议大家将配置进行优化,并且部署完毕后完全自用,不要对外开放。
这里也有一个类似的项目,可以做参考。
方案二 自建镜像加速服务: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服务器自建加速_网络存储_什么值得买
该方案比较简单且直接,也是我较为推荐的方法。
使用方法
经过我们的不懈努力,终于得到了镜像加速地址。图中地址自取,大家可以免费拿去用。
威联通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
最后
觉得麻烦或者实在搞不懂的朋友,可以自取文中我自建的加速地址应急。
评论区欢迎各位留言交流。
如果大伙儿觉得本篇内容还不错,别忘了三连支持下,能点点关注就更好了!后续我还会持续分享各类教程以及有趣好玩的项目。
感谢观看,本文完~
- 最新
- 最热
只看作者