V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jiayouzl
V2EX  ›  Docker

几乎国内所有 docker 源都因为某某问题被毙了,其他小规模镜像也不稳定,大家用什么办法解决国内服务器部署 docker 容器?

  •  
  •   jiayouzl · 92 天前 · 2775 次点击
    这是一个创建于 92 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我公司是有外网访问服务的,而且有公网访问的权限,我想在公司 Nas 里部署个 Squid 的 docker 容器然后通过配置让国内服务器进行下载镜像这个方法是否好?还是有更好的办法谢谢.

    21 条回复    2024-11-23 19:32:11 +08:00
    NevadaLi
        1
    NevadaLi  
       92 天前   ❤️ 1
    用 harbor 造一个本地 docker 源当做 proxy ,策略设置为优先从本地( harbor )拉取 image ,如果没有,则 harbor 负责先拉取 image 到自己。这种方法可以:
    1. 避免重复拉取 image 达到 docker hub 次数限制
    2. 内网重复拉 image 快
    3. 解决你的问题
    要求:harbor 机器磁盘要大。。。。
    Jinnrry
        2
    Jinnrry  
       92 天前 via iPhone
    海外服务器上面装个 nginx ,然后反代 dockerhub ,然后改源成你反代的域名
    jiayouzl
        3
    jiayouzl  
    OP
       92 天前
    @Jinnrry 恩,你这个方法其实跟我想的方法差不多的.
    liaohongxing
        4
    liaohongxing  
       92 天前
    1 楼很大问题,就是镜像更新不及时,当然自己打的镜像影响不大
    NevadaLi
        5
    NevadaLi  
       92 天前
    @liaohongxing #4 如果你 pull 一个不存在的 image ,会自动更新,对于已经存在的 image ,harbor 可以自动每日同步的。
    liaohongxing
        6
    liaohongxing  
       92 天前
    @NevadaLi harbor 能自动更新 latest 标签那就还行
    coolcoffee
        7
    coolcoffee  
       92 天前   ❤️ 2
    轻量点的话直接用 docker 官方提供的 registry 替代 harbor 就可以了,存储后端可以用磁盘或者 S3 都行。

    https://hub.docker.com/_/registry
    jiayouzl
        8
    jiayouzl  
    OP
       92 天前
    @coolcoffee 轻量蛮轻量的,这几天国内分流的服务接口的部署直接头大,我后来都是本地打包镜像到 Tar 上传到服务器去解压用的,这事搞的。。。。我看下你说的方法。
    laminux29
        9
    laminux29  
       92 天前
    楼上没有一个人说对。

    正经的解决方法是,测试阶段,挂梯子拉镜像。测试成功后,需要把镜像导出,放到本地文件服务器。以后直接从本地拉就行了。导出时注意记录 host OS version + 处理器架构。
    wnpllrzodiac
        10
    wnpllrzodiac  
       91 天前 via Android
    接受域名换掉的可以用 cf 套个。不接受换域名的,docker 服务配置里加个代理设置,通过代理出去。国内公开镜像是没发用了
    elboble
        11
    elboble  
       91 天前 via Android
    昨天拉 image,docker 优先用 ipv6 直接被 reset ,想了半天最简单还是关了本机 ipv6,正常 v4 爬梯拉回来。

    话说前两天看通知加大 Ipv6 流量,看样子是 wall 够高了。
    wogogoing
        12
    wogogoing  
       91 天前   ❤️ 1
    说出来不怕大家笑话,我用的是最质朴的方式:
    1.docker build ....
    2.docker save xxx -o /xxx
    3.scp ...
    4.docker load -i ...
    5.docker compose ...
    dandankele
        13
    dandankele  
       90 天前
    @coolcoffee registry 不行啊,我部署后使用 s3 协议存在阿里云 oss 上有问题,网上找了一大圈都没看到解决办法。。。
    coolcoffee
        14
    coolcoffee  
       90 天前
    @dandankele s3 不行那就用 minio 吧。 我是用的 aws 中国区的 s3 。 阿里云和腾讯云的兼容性很差,只能严格按照他们支持的设置来。
    kiko923
        15
    kiko923  
       74 天前   ❤️ 3
    jiayouzl
        16
    jiayouzl  
    OP
       74 天前
    @kiko923 谢谢,最终我还是用 Squid 在自己本地挂了个代理,服务器上也不是特别频繁 pull 镜像,本地环境也有外网权限就挂了个 Squid 还是挺方便的。
    sn0wdr1am
        17
    sn0wdr1am  
       64 天前
    cloudflare 部署一个镜像
    kedadiannao220
        18
    kedadiannao220  
       63 天前
    刚出炉的:) https://cloudlayer.icu/
    dianso
        19
    dianso  
       56 天前
    heartleo
        20
    heartleo  
       40 天前
    可以用 github actions 复制镜像到阿里云个人镜像仓库或自己搭建的的镜像仓库 参考: https://github.com/heartleo/image-copy 国内拉镜像嘎嘎快
    SeanChang
        21
    SeanChang  
       32 天前
    我经常用这个镜像,很稳定: https://docker.linkedbus.com/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3977 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:16 · PVG 18:16 · LAX 02:16 · JFK 05:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.