Docker Pull 超时?自建镜像加速器终极指南#
使用 Docker 时,经常遇到以下报错
Error response from daemon: Get "https://registry-1.docker.io/v2/":
net/http: TLS handshake timeout或者:
error pulling image configuration: download failed after attempts=6:
dial tcp 54.198.211.102:443: i/o timeout在国内网络环境下,docker pull 几乎必然超时。
公共镜像站要么已失效、要么严重限速,自建加速器才是长久之计。
本文提供两种方案,适用于不同场景。
如果你有一台海外 VPS(如 搬瓦工 或 DMIT),10 分钟即可搭建专属加速器。
0. 准备环境#
- 一台海外 VPS
- 一个域名(示例
docker.yourdomain.com),A 记录解析到 VPS - 80/443 端口可访问(签证书/HTTPS 需要)
建议先在 VPS 上设置环境变量,后续命令会自动引用:
DOMAIN="docker.yourdomain.com"
EMAIL="your@email.com"验证域名解析:
getent hosts "$DOMAIN" || true为什么不直接用代理?#
如果已有 socks5/http 代理,可能会问:直接给 Docker 配代理不行吗?
可以,但镜像加速器通常更省心:
| 对比项 | 镜像加速器 | Docker 配代理 |
|---|---|---|
| 配置难度 | 改一行 JSON | 需配 systemd 环境变量 |
| 兼容性 | Docker 原生支持 | buildx/compose 有时不走代理 |
| 缓存 | 可选开启本地缓存 | 无缓存,每次重新下载 |
| 团队共享 | 一个 URL 全员用 | 每台机器配代理 |
如何选择: