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

2024-06-08 20:43:51 +08:00
 noclin

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

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

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

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

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

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

@gneko 如果只是加速 SNI Proxy 是可以解决问题的,我的需求是 PyTorch 包 和 nvidia-docker 相关的镜像下载比较多,所以做了简单的缓存
LingXingYue
2024-06-09 09:24:04 +08:00
@gneko 反代是可以的
我写过用 nginx 反代 docker hub 的方法
https://ex.noerr.eu.org/t/1047907?p=1#reply3
yinmin
2024-06-09 10:07:04 +08:00
@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
2024-06-09 10:49:35 +08:00
@yinmin 大佬能详细介绍下 sniproxy 部署过程么,内网有 openwrt ,怎么代理 docker
me007
2024-06-09 12:13:18 +08:00
你好,LightMirrors 是 镜像的索引和下载文件服务吗?

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

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

不全局时,换源也下载不动。
noclin
2024-06-09 15:26:45 +08:00
@me007 manifest 和 blob 都缓存了,包括 redirect 到 cloudflare 的资源也处理了
tcpdump
2024-06-09 16:05:42 +08:00
这教程不明不白,在哪里部署,就一句 up 一下?
tairan2006
2024-06-09 18:41:11 +08:00
还是自己部署一个 habor 把镜像转存过来算了…
z1WhpL268TWE173O
2024-06-10 15:32:27 +08:00
@tairan2006 #12 我也是打算这样做, 关键是内网的 habor, 如何和境外 docker hub 实现无缝拉取和更新.
lazywen
2024-06-10 15:59:59 +08:00
@yinmin 内网部署的话,内网的机器需要能走 VPN 或加密隧道才行吧,不然 sniproxy 转发 https 请求的时候是直连目标服务器,sni 域名也会被嗅探到,照样会被阻断
noclin
2024-06-10 19:05:28 +08:00
@lazywen 都要前置代理的
mintongcn
2024-06-12 22:26:38 +08:00
阿里云 腾讯云的还能用吗
Ethan9527
2024-06-13 13:44:45 +08:00
@mintongcn 阿里云应该还行吧,不过一些小众镜像估计就难了。可以试试我们的镜像库 https://image.jianmuhub.com/
Aicnal
2024-06-14 08:24:17 +08:00
@Ethan9527 阿里云有些镜像过于老旧了
dockerhub
2024-06-15 11:48:00 +08:00
基于 Cloudflare Workers 搞了一个代理站,dockerhub.icu

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1047970

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX