V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
jujyjse
V2EX  ›  分享创造

[Chrome 扩展] 直接在浏览器中下载 DockerHub 镜像(找不到好的镜像代理的新选择)

  •  
  •   jujyjse · 2025 年 2 月 9 日 · 2903 次点击
    这是一个创建于 338 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在一些网络环境下,docker pull 必会卡的死死的。于是大家想了很多办法:

    • 给 docker daemon 挂代理服务器
    • 找一个靠谱的 DockerHub 代理(好想现在也没什么太稳定的了)
    • 通过大慈善家 Cloudflare 自建一个 DockerHub 代理

    这里我做了一个 Chrome 扩展 ,给大家提供了一个新的思路:

    通过浏览器代理直接下载容器镜像文件 tar 文件,然后使用 docker load 导入镜像。

    下载界面

    在扩展弹出的窗口里面直接输入镜像名称即可,除了 DockerHub 外, ghcr.io 等也都是支持的!

    下载界面

    Chrome 商店地址: https://chromewebstore.google.com/detail/docker-image-downloader/dfpojffmnkiglpjpjodlpmoejdcfobnd


    下载器的原理是这样的:

    • 根据 Docker Registry HTTP API 来模拟 docker pull 的行为
    • 将下载下来的 layers 根据 docker load 支持的格式组装起来,配合 tar-stream 直接流式打包
    • chrome extension v3 支持 service-worker ,service-worker 支持 Fetch Event 可以让用户在浏览器的下载器中直接下载上一步流式打包的 tar 文件
    18 条回复    2025-02-10 19:16:59 +08:00
    yyzcl
        1
    yyzcl  
       2025 年 2 月 9 日 via Android
    🫡
    leafxen
        2
    leafxen  
       2025 年 2 月 9 日
    好用正需要
    OutOfMemery
        3
    OutOfMemery  
       2025 年 2 月 9 日
    感谢大佬~
    ragnaroks
        4
    ragnaroks  
       2025 年 2 月 9 日
    jujyjse
        5
    jujyjse  
    OP
       2025 年 2 月 9 日
    @ragnaroks kasmweb/core-debian-bookworm:1.14.0
    DockerHub 的不带前缀就可以了~
    Shorekeeper
        6
    Shorekeeper  
       2025 年 2 月 9 日
    期待源码,或者 Firefox 版本。
    civetcat
        7
    civetcat  
       2025 年 2 月 9 日
    太有用了,感谢
    AlexRoot
        8
    AlexRoot  
       2025 年 2 月 9 日
    支持!!!
    dkl1999
        10
    dkl1999  
       2025 年 2 月 9 日
    huaji
        11
    huaji  
       2025 年 2 月 9 日
    好好好👍
    wm5d8b
        12
    wm5d8b  
       2025 年 2 月 10 日 via Android
    @ccbikai daocloud 早就不能用了吧?早年我还用过他们家的面板管理服务器上的容器
    macaodoll
        13
    macaodoll  
       2025 年 2 月 10 日
    有趣有用,哈哈哈哈
    tankeco
        14
    tankeco  
       2025 年 2 月 10 日
    牛的! 能支持代理吗?我直连 hub.docker.com 也不行,挂着 ZeroOmega 才能访问,不太了解浏览器插件能读到我正在使用的代理吗?
    tankeco
        15
    tankeco  
       2025 年 2 月 10 日
    哦哦,我把代理设置成全局就可以下载了,感谢大佬!
    tankeco
        16
    tankeco  
       2025 年 2 月 10 日
    镜像大了好像有点问题,下一会被取消,401 错误。比如我尝试下这个: qwenllm/qwenvl:2.5-cu121, Request failed with status code 401 Unauthorized: GET https://registry-1.docker.io/v2/qwenllm/qwenvl/blobs/sha256:fd355de1d1f25492195368f3c3859f24af856e5d7a2ffb34951776daa50bd3e7
    jujyjse
        17
    jujyjse  
    OP
       2025 年 2 月 10 日
    @tankeco 大概下了多久遇到了这个问题呢,我怀疑是我在第一步生成的 token 在下载到这个 layer 的时候过期啦?
    tankeco
        18
    tankeco  
       2025 年 2 月 10 日
    @jujyjse 6 分钟多点
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5340 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 07:04 · PVG 15:04 · LAX 23:04 · JFK 02:04
    ♥ Do have faith in what you're doing.