Docker 镜像源配置指南
1. 什么是 Docker 镜像源?
Docker 镜像源(Image Registry Mirror)是一个代理服务,它会缓存 Docker Hub 上的镜像,当用户拉取镜像时,直接从镜像源下载,从而加快访问速度。常见的公共镜像源包括:
- 阿里云(需登录后获取专属加速地址)
- 腾讯云
- 华为云
- 中科大镜像(USTC)
- 网易镜像
2. 配置前的准备
- 确保 Docker 已正确安装。
- 选择一个可用的镜像加速器地址。例如,阿里云镜像加速器地址格式为
https://<your_code>.mirror.aliyuncs.com,需要访问阿里云容器镜像服务控制台获取专属地址。 - 如果需要配置多个镜像源,可以按优先级依次列出。
3. 配置方法
3.1 适用于 Linux 系统(使用 systemd)
-
编辑(或创建)Docker 守护进程配置文件
/etc/docker/daemon.json:bashsudo nano /etc/docker/daemon.json -
添加或修改
registry-mirrors字段,例如使用中科大镜像源:json{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }也可以配置多个镜像源,用逗号分隔:
json{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ] } -
保存文件并退出编辑器。
-
重新加载 systemd 配置并重启 Docker 服务:
bashsudo systemctl daemon-reload sudo systemctl restart docker
3.2 适用于 Windows / macOS(使用 Docker Desktop)
Docker Desktop 提供了图形界面来配置镜像源。
Windows
- 在系统托盘找到 Docker 图标,右键点击选择 Settings(设置)。
- 进入 Docker Engine 选项卡。
- 在配置 JSON 中添加
registry-mirrors数组,例如:json{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] } - 点击 Apply & Restart 使配置生效。
macOS
操作步骤与 Windows 完全相同,通过菜单栏 Docker 图标进入 Preferences(或 Settings),然后修改 Docker Engine 配置并重启。
3.3 通用方法(手动修改 daemon.json)
无论使用何种操作系统,如果 Docker 服务不是由 Docker Desktop 管理(例如手动安装的 Docker Engine),都可以直接编辑对应路径下的 daemon.json 文件。
- Linux:
/etc/docker/daemon.json - Windows(非Docker Desktop):可能需要创建
%programdata%\docker\config\daemon.json - macOS(非Docker Desktop):路径通常为
~/.docker/daemon.json
修改后同样需要重启 Docker 服务。
4. 验证配置是否生效
运行以下命令拉取一个镜像,观察下载速度是否提升:
bash
docker pull hello-world
也可以查看 Docker 信息,确认镜像源已配置:
bash
docker info
在输出中找到 Registry Mirrors 一节,应该列出你配置的镜像源地址。
5. 常见问题
5.1 配置后拉取镜像仍然慢
- 检查镜像源地址是否正确,部分镜像源需要注册并获取专属地址(如阿里云)。
- 尝试更换其他镜像源。
- 确保网络能正常访问镜像源服务器(可通过 ping 或 curl 测试)。
5.2 修改配置后 Docker 无法启动
- 检查
daemon.json是否为有效的 JSON 格式(可使用在线 JSON 校验工具)。 - 确认
registry-mirrors字段的值是一个数组,即使只有一个镜像源也要用中括号括起来。 - 查看 Docker 日志获取错误信息:
sudo journalctl -u docker(Linux)或检查 Docker Desktop 日志。
5.3 是否需要配置多个镜像源?
可以配置多个,Docker 会依次尝试,直到成功拉取镜像。但通常一个稳定的镜像源就足够了。