公网 DockerHub 镜像站下架了,推荐下内网自建镜像的小项目 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
noclin
V2EX    分享创造

公网 DockerHub 镜像站下架了,推荐下内网自建镜像的小项目

  •  
  • &nbs; noclin 2024-06-08 20:43:51 +08:00 7012 次点击
    这是一个创建于 491 天前的主题,其中的信息可能已经有所发展或是发生改变。

    LightMirrors 是一个开源的缓存镜像站服务,用于加速软件包下载和镜像拉取。 目前支持 DockerHub 、PyPI 、PyTorch 、NPM 等镜像缓存服务。 当前项目仍处于早期阶段。

    Github: https://github.com/NoCLin/LightMirrors

    给实验室和 Homelab 开发的非常轻量级的缓存镜像站,还有一些坑没有填,但基本可用。

    这个项目之前也被阮一峰老师的周刊推荐过: https://www.ruanyifeng.com/blog/2024/03/weekly-issue-291.html

    欢迎大家提出建议、参与开发或者帮忙测试!

    第 1 条附言    2024-06-11 20:52:34 +08:00
    补充一下:

    这个项目做一些 url 做了特殊处理(比如 dockerhub 307 到了 cloudflare ),只是简单的反代没有效果

    其次,如果做 SNI Proxy 务必把 307 后的 Host 解析到 SNI Proxy
    19 条回复    2024-06-15 11:48:00 +08:00
    Satansickle
        1
    Satansickle  
       2024-06-08 20:58:33 +08:00
    看了,没学会,大佬能不能详细说下怎么部署
    noclin
        2
    noclin  
    OP
       2024-06-08 21:23:16 +08:00
    @Satansickle 配置好.env 文件 然后 执行 `docker-compose up` 就好了,README 哪里没看懂啊
    aeron
        3
    aeron  
       2024-06-09 00:24:28 +08:00
    今天搭了一下,需要自己手动构建镜像,样例 dockerfile 文件没有处理好 py 文件,需要改一下
    gneko
        4
    gneko  
       2024-06-09 01:08:23 +08:00 via iPhone
    前几天看到了之后也在思考这个问题来着,借楼请教一下,如果只是为了加速的话,是否可以通过简单的 nginx 配置反代(或者 caddy )解决?感觉其实很多人需要的不是缓存,而是代理。
    noclin
        5
    noclin  
    OP
       2024-06-09 09:05:39 +08:00   1
    @aeron 欢迎指出问题,这个版本是直接 mount 的,需要自己 build 下,后面会上传到 dockerhub 和 ghcr

    @gneko 如果只是加速 SNI Proxy 是可以解决问题的,我的需求是 PyTorch 包 和 nvidia-docker 相关的镜像下载比较多,所以做了简单的缓存
    LingXingYue
        6
    LingXingYue  
       2024-06-09 09:24:04 +08:00 via Android   1
    @gneko 反代是可以的
    我写过用 nginx 反代 docker hub 的方法
    t/1047907?p=1#reply3
    yinmin
        7
    yinmin  
       2024-06-09 10:07:04 +08:00 via iPhone
    @gneko #4 只为加速,可以在内网部署 sniproxy ,在 docker 主机的/etc/hosts 里将域名 production.cloudflare.docker.com 指向 sniproxy ip 。

    如果有内网 dns server 且 docker 比较多,可以在内网 dns server 配置 production.cloudflare.docker.com 指向 sniproxy ip ,docker 主机不用任何配置即可加速。

    这个方法也能解决最近 docker 官方镜像无法下载的问题。
    Satansickle
        8
    Satansickle  
       2024-06-09 10:49:35 +08:00
    @yinmin 大佬能详细介绍下 sniproxy 部署过程么,内网有 openwrt ,怎么代理 docker
    me007
        9
    me007  
       2024-06-09 12:13:18 +08:00
    你好,LightMirrors 是 镜像的索引和下载文件服务吗?

    常规的 docker 源, 好像都是索引镜像,下载文件都统一走的 production.cloudflare.docker.com

    现在,production.cloudflare.docker.com ,也被 reset,

    不全局时,换源也下载不动。
    noclin
        10
    noclin  
    OP
       2024-06-09 15:26:45 +08:00
    @me007 manifest 和 blob 都缓存了,包括 redirect 到 cloudflare 的资源也处理了
    tcpdump
        11
    tcpdump  
       2024-06-09 16:05:42 +08:00
    这教程不明不白,在哪里部署,就一句 up 一下?
    tairan2006
        12
    tairan2006  
       2024-06-09 18:41:11 +08:00 via Android
    还是自己部署一个 habor 把镜像转存过来算了…
    z1WhpL268TWE173O
        13
    z1WhpL268TWE173O  
       2024-06-10 15:32:27 +08:00
    @tairan2006 #12 我也是打算这样做, 关键是内网的 habor, 如何和境外 docker hub 实现无缝拉取和更新.
    lazywen
        14
    lazywen  
       2024-06-10 15:59:59 +08:00
    @yinmin 内网部署的话,内网的机器需要能走 VPN 或加密隧道才行吧,不然 sniproxy 转发 https 请求的时候是直连目标服务器,sni 域名也会被嗅探到,照样会被阻断
    noclin
        15
    noclin  
    OP
       2024-06-10 19:05:28 +08:00
    @lazywen 都要前置代理的
    mintongcn
        16
    mintongcn  
       2024-06-12 22:26:38 +08:00 via iPhone
    阿里云 腾讯云的还能用吗
    Ethan9527
        17
    Ethan9527  
       2024-06-13 13:44:45 +08:00
    @mintongcn 阿里云应该还行吧,不过一些小众镜像估计就难了。可以试试我们的镜像库 https://image.jianmuhub.com/
    Aicnal
        18
    Aicnal  
       2024-06-14 08:24:17 +08:00 via iPhone
    @Ethan9527 阿里云有些镜像过于老旧了
    dockerhub
        19
    dockerhub  
       2024-06-15 11:48:00 +08:00
    基于 Cloudflare Workers 搞了一个代理站,dockerhub.icu
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     931 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 18:44 PVG 02:44 LAX 11:44 JFK 14:44
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86