Docker Pull 超时?自建镜像加速器终极指南 (2024-2026)

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 全员用 每台机器配代理

如何选择: