上周五下午,准备部署一个新项目,照例 docker pull docker.1ms.run/node:18——然后就开始了漫长的等待。
进度条卡在 47%,五分钟了纹丝不动。我又切了一个终端,试了 docker pull docker.1ms.run/python:3.11,同样的命运。两个终端,两个卡住的进度条,像是在嘲笑我。
最后我不得不放弃,手动把镜像打成 tar 包,scp 到服务器上再 load 进去。一个本该 5 分钟搞定的事,硬生生折腾了两个小时。
那一刻我下定决心:这周必须找到一个靠谱的方案。
我试过的那些"野路子"
说实话,这些年我折腾过不少镜像加速方案。
阿里云的镜像加速器,用了大半年,某天突然就停了服务,连个公告都没有。某大学的公益源,速度快了两个月,然后首页变成 404。GitHub 上那些热心网友整理的"国内镜像源大全",收藏的时候信心满满,过一个月再看,一大片已经标红。
我也试过手动改 daemon.json,写一堆 mirror 地址,以为多配几个总能有一个能用。结果发现,大部分时候不是配置的问题,是源头本身就不可用。
这感觉就像你在沙漠里找水——好不容易记住几个绿洲的位置,下次再去,全干了。
意外发现了一个"正规军"
转折发生在我给一台新装宝塔的服务器配环境的时候。
按惯例我应该去手动改 daemon.json,结果发现 Docker 已经配好了镜像加速,拉取速度飞快。我好奇地看了一眼配置——地址指向了 docker.1ms.run。
一查才知道,这是毫秒镜像(1ms.run)的加速地址。重点是:它已经被宝塔面板原生内置了。
紧接着我发现,不只是宝塔——爱快路由、绿联 NAS 这些国民级产品,都已经在系统底层集成了它的加速服务。这些大厂的技术团队用户量加起来是千万级的,他们敢把口碑押在上面,跟着用绝对没错。
后来我又了解到,他们的客户名单里还有持有央行支付牌照的金融科技公司。金融行业对基础设施的要求是变态级的——能让金融机构放心接入,这个服务的底子不会差。
一行命令,从此告别等待
了解清楚之后,我给自己的所有服务器都配上了。流程极其简单:
curl -sSL https://static.1ms.run/1ms-helper/install.sh | bash
1ms-helper config:docker
30 秒不到,配置完成。然后试试拉镜像:
docker pull docker.1ms.run/nginx:latest
以前至少 5 分钟,现在 3 秒完成。我连续拉了好几个常用镜像:
docker pull docker.1ms.run/node:18-alpine
docker pull docker.1ms.run/python:3.11-slim
docker pull docker.1ms.run/redis:7-alpine
全部秒级完成。
更关键的是,它不只是加速 Docker Hub。gcr.io、quay.io、registry.k8s.io、ghcr.io——这些平时让人头疼的国外仓库,全部支持:
docker pull ghcr.1ms.run/linuxserver/webtop
docker pull k8s.1ms.run/pause
工具里还藏了个彩蛋——DNS 诊断功能:
1ms-helper check:dns
很多时候拉不下镜像不是源的问题,而是 DNS 解析出了状况。这个命令能自动检测并修复。
折腾一周的结论
快的源很多,稳定的一个都没有——直到我找到这个。
毫秒镜像有清晰的商业模式(免费版 + 付费增值),不是那种用爱发电随时会跑路的项目。免费版走 Cloudflare CDN,日常开发完全够用;付费版走国内专线,速度快且 SLA 有保障。
我现在已经把它配在了所有服务器上。CI/CD 流水线再也没有因为镜像拉取超时而卡过。
如果你也受够了等待,建议试试。
作者注:本文纯属个人技术分享。折腾了一周镜像源,终于找到一个能长期用的方案,忍不住分享一下。