为 Docker 引擎本身配置镜像加速器(推荐首选)
这是全局性配置,配置后所有 docker pull 命令都会通过国内加速器,速度会得到极大提升,这是最根本的解决方法。

方法如下(以阿里云加速器为例):
-
获取加速器地址:首先前往国内云服务商官网注册并获取专属加速器地址。
- 阿里云:登录后进入容器镜像服务控制台,在“镜像工具” -> “镜像加速器”中获取你的专属地址,格式如
https://xxxx.mirror.aliyuncs.com。 - 腾讯云、华为云、中科大、网易云等也有类似服务。
- 阿里云:登录后进入容器镜像服务控制台,在“镜像工具” -> “镜像加速器”中获取你的专属地址,格式如
-
配置 Docker Daemon:
- Linux / macOS (Docker Desktop):
修改或创建 Docker 守护进程配置文件
/etc/docker/daemon.json(如果不存在则新建):{ "registry-mirrors": [ "https://xxxx.mirror.aliyuncs.com", "https://mirror.ccs.tencentyun.com", "https://docker.mirrors.ustc.edu.cn" ] }您可以添加多个镜像源,保存文件。
- Windows (Docker Desktop):
在系统托盘右键点击 Docker 图标 -> “Settings”(或“设置”)-> “Docker Engine”,在配置窗口中编辑
registry-mirrors部分,与上述JSON格式相同,点击 “Apply & Restart”。
- Linux / macOS (Docker Desktop):
修改或创建 Docker 守护进程配置文件
-
重启 Docker 服务:
- Linux:
sudo systemctl restart docker - macOS/Windows: Docker Desktop 会自动重启。
- Linux:
-
验证配置: 在终端运行
docker info,在输出中查找Registry Mirrors,确认列表中包含了你刚添加的镜像地址。
完成此步骤后,理论上再次运行 docker-compose up -d 或 docker pull 拉取 OpenClaw 镜像时,速度就会大幅提升。
直接修改 docker-compose.yml 中的镜像地址
如果全局加速器配置后仍然无法拉取某个特定镜像(项目使用了非官方镜像),你可以尝试手动修改 docker-compose.yml 文件,将镜像路径替换为国内镜像站上存在的同版本镜像。
操作步骤:
-
找到并打开
docker-compose.yml文件。 -
定位
image字段,原始的配置可能类似:version: '3' services: openclaw-backend: image: openclaw/backend:latest # ... 其他配置 openclaw-frontend: image: openclaw/frontend:latest # ... 其他配置 postgres: image: postgres:15-alpine # ... 其他配置 -
替换镜像前缀,将官方镜像库地址替换为国内镜像库地址。
- 示例1(替换第三方基础镜像):
将
postgres:15-alpine替换为国内仓库的镜像,如阿里云的:image: registry.cn-hangzhou.aliyuncs.com/library/postgres:15-alpine
- 示例2(替换项目自有镜像):
openclaw/backend在 Docker Hub 上,你可以尝试在阿里云镜像仓库搜索并拉取(需要有人同步过),或者联系项目方看是否有国内镜像,替换格式类似:image: registry.cn-shanghai.aliyuncs.com/some_namespace/openclaw-backend:latest
注意:这需要该镜像已被同步到国内仓库,否则会拉取失败,对于项目自有镜像,此方法不一定可行。
- 示例1(替换第三方基础镜像):
将
-
保存文件并重新部署:
docker-compose down docker-compose pull # 拉取新镜像 docker-compose up -d
针对 OpenClaw 项目的特别建议
- 查阅项目文档:首先查看 OpenClaw 项目的
README.md或INSTALL.md文件,看作者是否已经提供了针对中国用户的安装说明或国内镜像地址。 - 使用 Gitee 镜像:如果项目托管在 GitHub,可以检查其 Gitee(码云)上是否有同步的仓库,有时国内仓库会附带镜像配置。
- 分步拉取:
docker-compose up -d整体失败,可以尝试先docker-compose pull逐个拉取镜像,看具体是哪个镜像卡住,再针对性地寻找国内镜像源。
总结与操作流程推荐
- 首选方案:配置 Docker 守护进程的镜像加速器(层面一),这是最通用、最有效的方法,一劳永逸。
- 备用方案:如果配置加速器后,
docker-compose.yml中某个特定镜像(尤其是非library/下的镜像)仍然拉取失败,再尝试修改docker-compose.yml中的image字段(层面二),将其指向已知的国内镜像地址。 - 终极方案:如果以上都无效,可以尝试通过能科学上网的环境先
docker pull镜像,然后导出 (docker save)、传输、再导入 (docker load) 到目标机器。
请根据您的实际情况尝试,通常完成层面一的配置后,问题就能解决。
标签: compose.yml 镜像切换