Docker Hub 与 GHCR 国内镜像加速整理
太阳作者太阳
原创内容采用 CC-4.0 协议发布,转载请注明出处
Docker镜像加速容器镜像

国内拉取 Docker Hub 和 GitHub Container Registry(GHCR)镜像时,经常遇到连接超时或速度不稳定。本文整理当前可用的国内镜像源,并说明常见的镜像地址替换方式。

本文更新于 2026 年 7 月 16 日。镜像服务的规则可能调整,使用前请以官方文档为准。

Docker Hub 镜像

临时使用时,在原镜像名称前增加 docker.1ms.run

# Docker 官方镜像
docker pull docker.1ms.run/library/nginx:1.27
docker pull docker.1ms.run/library/alpine:3.20

# Docker Hub 用户或组织镜像
docker pull docker.1ms.run/portainer/portainer-ce:2.21.5

Docker 官方镜像属于 library 命名空间,该服务也支持省略它:

docker pull docker.1ms.run/nginx:1.27

GHCR 镜像

GHCR 镜像需要把 ghcr.io 替换为 ghcr.1ms.run,后面的组织名、镜像名和标签保持不变:

# 原地址
docker pull ghcr.io/linuxserver/webtop:latest

# 加速地址
docker pull ghcr.1ms.run/linuxserver/webtop:latest

compose.yaml 中同样只替换域名:

services:
  webtop:
    image: ghcr.1ms.run/linuxserver/webtop:latest
    container_name: webtop
    ports:
      - "3000:3000"

实际部署时应把示例中的 latest 换成明确版本,避免标签变化影响重建结果。

其他 Docker Hub 镜像源

dongyubin/DockerHub 持续整理国内可用的 Docker Hub 镜像源。项目在 2026 年 6 月 13 日列出的可用地址如下:

镜像源 说明
https://docker.1panel.live 仅限中国地区
https://docker.1ms.run 本文示例使用
https://proxy.vvvv.ee 同时提供离线镜像下载
https://dockerproxy.net Docker Proxy
https://dockerproxy.link Docker Proxy
https://docker.m.daocloud.io DaoCloud 镜像站
https://docker.jiaxin.site 简行镜像
https://docker.xuanyuan.me 轩辕镜像,另有会员服务
https://registry.cyou 容器镜像管理与多仓库代理
https://free.hubfast.cn HubFast 免费入口
https://mirror.ccs.tencentyun.com 腾讯云内网使用,不支持外网访问
https://mirror.houlang.cloud 需要注册并获取令牌

这些服务可能存在地区、白名单、限流、注册或令牌限制,也可能随时停止服务。本文的命令统一使用 docker.1ms.run,需要切换时可以先从这份列表中选择地址,再自行验证目标镜像能否拉取。项目还维护了已失效地址列表,排障时可以用来确认旧配置是否已经过期。

其他镜像仓库

1ms.run 还提供 GCR、Kubernetes、Quay、Microsoft、NVIDIA 和 Elastic 等镜像仓库的加速入口,但免费范围和使用条件可能不同,本文不再展开。具体域名与规则请查看支持列表

注意事项

  1. 固定镜像版本,生产环境可以进一步固定 digest,不要长期依赖 latest
  2. 第三方代理可能记录访问地址和镜像名称,私有镜像应先评估认证信息与安全边界。
  3. 代理可访问不代表目标镜像一定存在,仍可能受缓存、回源或内容策略影响。
  4. 保留官方源站地址,确保代理不可用时能够快速切换。

总结

Docker Hub 镜像使用 docker.1ms.run 前缀;GHCR 镜像则把 ghcr.io 替换为 ghcr.1ms.run。对日常使用而言,掌握这两种方式基本足够。

可选:只有希望 Docker Hub 拉取默认使用该镜像源时,才需要配置 Docker daemon。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": [
    "https://docker.1ms.run"
  ]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker