概述
众所周知,因为某种不可抗拒的因素,Docker 在国内的大部分镜像站已经停止对外提供镜像下载服务了,现在只能通过某些“特殊的手段”来下载镜像。本篇文章给大家介绍两种常用的方式来加速镜像的下载。
阿里云个人镜像加速地址
首先第一种是阿里云提供的镜像加速地址服务,它是一个可以加速镜像下载速度的链接,和之前常用的镜像站地址是等效的。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://cdcccsv.mirror.aliyuncs.com"]
} EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
但是在 2024 年 7 月份,阿里云官方修改了政策。只有在阿里云的云服务器上才可以使用个人的镜像加速地址。所以在本地使用虚拟机的用户就无法享受到这个福利了。
配置Docker局域网
下面给大家介绍的使用局域网连接的 HTTP/HTTPS Proxy 的方式。通过这种方式,就可以让 Docker 正常拉取镜像了。
准备工作就绪之后,你在本机上面打开客户端的控制台,然后找到设置,打开允许来自局域网的连接。还有记住混合代理的端口号,假设这里是 7890。
这一步完成之后,打开设置找到你本机器的局域网地址:
同时你也要关闭本机的防火墙:
以上工作完成之后,还剩最后一步:配置 Docker 的 daemon.json 文件。
首先输入命令:
vim /etc/docker/daemon.json
http-proxy 和 https-proxy 代理填写你自己的本机局域网地址,端口号是上文说的设置选项里面的端口号。
粘贴这一段代码:
{
"proxies": {
"http-proxy": "http://192.168.31.71:7890",
"https-proxy": "http://192.168.31.71:7890",
"no-proxy": "*.test.example.com,.example.org,127.0.0.0/8"
}
}
在这里同样可以设置用于拉取 image 的 docker hub 镜像站,例如:
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
最后重启 Docker 服务:
systemctl daemon-reload
systemctl restart docker
尝试拉去一个 redis:6.0 镜像:
docker pull redis:6.0
成功拉取了镜像,速度跟你本机的网络状况有关: