1. 编辑配置文件
首先,编辑 Docker 的守护进程配置文件 /etc/docker/daemon.json。如果文件不存在,可以直接创建。
sudo vi /etc/docker/daemon.json
在文件中添加或修改 registry-mirrors 字段。以下是一个配置示例(使用了 hub.docker.com 作为示例源):
# "live-restore": true 是一个非常有用的配置,它允许在 Docker 守护进程停止或重启时,容器依然保持运行状态。
{
"registry-mirrors": [
"https://hub.docker.com/"
],
"live-restore": true
}
2. 验证配置语法
sudo dockerd --config-file /etc/docker/daemon.json --validate
如果输出 configuration OK,说明文件格式无误。
3. 重载配置(不重启服务)
配置修改完成后,我们不需要执行 systemctl restart docker,而是使用 reload 命令来平滑加载新配置:
sudo systemctl reload docker
4. 验证镜像源是否生效
重载完成后,通过 docker info 命令检查当前的镜像源配置是否已更新:
docker info | grep -A 5 "Registry Mirrors"
# 预期输出:
Registry Mirrors:
https://hub.docker.com/
Live Restore Enabled: true
如果能看到你配置的地址,说明操作成功。
5. 测试拉取镜像
现在,你可以尝试拉取官方镜像来测试速度:
docker pull nginx:latest
备选方案: 使用临时镜像源
如果你无法修改配置文件,或者不想重载服务,可以在拉取命令中直接指定镜像源地址:
docker pull hub.docker.com/library/nginx:latest
1. 编辑配置文件
首先,编辑 Docker 的守护进程配置文件 /etc/docker/daemon.json。如果文件不存在,可以直接创建。
sudo vi /etc/docker/daemon.json
在文件中添加或修改 registry-mirrors 字段。以下是一个配置示例(使用了 hub.docker.com 作为示例源):
# "live-restore": true 是一个非常有用的配置,它允许在 Docker 守护进程停止或重启时,容器依然保持运行状态。
{
"registry-mirrors": [
"https://hub.docker.com/"
],
"live-restore": true
}
2. 验证配置语法
sudo dockerd --config-file /etc/docker/daemon.json --validate
如果输出 configuration OK,说明文件格式无误。
3. 重载配置(不重启服务)
配置修改完成后,我们不需要执行 systemctl restart docker,而是使用 reload 命令来平滑加载新配置:
sudo systemctl reload docker
4. 验证镜像源是否生效
重载完成后,通过 docker info 命令检查当前的镜像源配置是否已更新:
docker info | grep -A 5 "Registry Mirrors"
# 预期输出:
Registry Mirrors:
https://hub.docker.com/
Live Restore Enabled: true
如果能看到你配置的地址,说明操作成功。
5. 测试拉取镜像
现在,你可以尝试拉取官方镜像来测试速度:
docker pull nginx:latest
备选方案: 使用临时镜像源
如果你无法修改配置文件,或者不想重载服务,可以在拉取命令中直接指定镜像源地址:
docker pull hub.docker.com/library/nginx:latest