ixxmu / hugo_duty

https://test.vercel.com
2 stars 1 forks source link

DockerHub 国内镜像解决方案 #521

Closed ixxmu closed 2 weeks ago

ixxmu commented 2 weeks ago

https://mp.weixin.qq.com/s/iZJ8FSJFiFAWdVxKuY_Cqw

ixxmu commented 2 weeks ago

DockerHub 国内镜像解决方案 by 老胡的储物柜

目前 DockerHub 仓库镜像服务基本都下线了, Docker 可以说是开发人员的必备工具,这个影响还是很大的。对老胡来说,不论是从个人还是技术团队,如何配置 DockerHub 镜像加速是个急需解决的问题。

经过调研探索,老胡总结了以下方案:

  • 直接用第三方搭建好的
  • 自建
    • 基于 Cloudflare Workers 镜像代理
    • 基于 Github Action 转存同步
    • [推荐]购买服务器
    • 利用免费平台

有更好的方案欢迎留言分享

第三方

加速地址说明
https://docker.m.daocloud.ioDaoCloud 驱动
https://dockerpull.comDocker Proxy  驱动
https://atomhub.openatom.cnAtomHub 提供,仅有基础镜像
https://docker.1panel.live1panel  驱动
https://dockerhub.jobcher.com打工人日报驱动
https://hub.rat.dev耗子面板驱动
https://docker.registry.cyoubestcfipas 驱动
https://docker.awsl9527.cnzeruns 驱动
https://do.nark.eu.org//
https://docker.ckyl.me/
https://hub.uuuadc.top/
https://docker.chenby.cn/
https://docker.ckyl.me/

以上排名不分先后,为了后续维护方便,老胡弄了个页面维护免费可用的 Docker 镜像代理域名列表👉 https://www.fre321.com/p/docker_proxy_list。

自建

基于 VPS

购买一台海外 VPS 和域名,通过开源项目自建,老胡认为这是最稳妥的方案,这块的开源项目有很多,老胡都试了下,最终选用的是 dqzboy/Docker-Proxy,安装也很简单:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/dqzboy/Docker-Proxy/main/install/DockerProxy_Install.sh)"

执行跟着配置走就搞定了。

基于平台

基于 CF 搭建的话推荐:CF-Workers-docker.io,部署方式支持 WorkersPages,教程在 README 中,讲得也很清楚。

使用 Github Action 推荐 tech-shrimp/docker_image_pusher

  • 支持DockerHub, gcr.io, k8s.io, ghcr.io等任意仓库
  • 支持最大40GB的大型镜像
  • 使用阿里云的官方线路,速度快

使用

不论是用第三方还是自建,使用基本都是类似的:

# 通过域名使用
# 说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名
docker pull {domain}/library/alpine:latest

#
 设置 registry mirror,推荐
tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": ["https://xxx.xxx"]
}
EOF
# 在里面填上代理域名即可,可以多个
systemctl daemon-reload
systemctl restart docker