Docker镜像加速解决方案:配置HTTP代理,让Docker学会科学上网!

概述

众所周知,因为某种不可抗拒的因素,Docker 在国内的大部分镜像站已经停止对外提供镜像下载服务了,现在只能通过某些"特殊的手段"来下载镜像。本篇文章给大家介绍两种常用的方式来加速镜像的下载。

阿里云个人镜像加速地址

首先第一种是阿里云提供的镜像加速地址服务,它是一个可以加速镜像下载速度的链接,和之前常用的镜像站地址是等效的。

bash 复制代码
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局域网代理

下面给大家介绍的使用局域网连接 Clash/ClashX 的 HTTP/HTTPS 代理的方式。通过这种方式,就可以让 Dokcer 学会科学上网了。

首先你得下载 Clash/ClashX,这就不用我多说了,不会的自行百度。

准备工作就绪之后,你在本机上面打开 Clash 的控制台,然后找到设置,打开允许来自局域网的连接。还有记住混合代理的端口号,这里是 7890。

这一步完成之后,打开设置找到你本机器的局域网地址:

同时你也要关闭本机的防火墙:

以上工作完成之后,还剩最后一步:配置 Docker 的 daemon.json 文件。

首先输入命令:

bash 复制代码
vim /etc/docker/daemon.json

粘贴这一段代码:

json 复制代码
{
  "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 镜像站,例如:

json 复制代码
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}

http-proxy 和 https-proxy 代理填写你自己的本机局域网地址,端口号是 Clash 设置选项里面的端口号。

最后重启 Docker 服务:

bash 复制代码
systemctl daemon-reload
systemctl restart docker

尝试拉去一个 redis:6.0 镜像:

bash 复制代码
docker pull redis:6.0

成功拉取了镜像,速度跟你的机场的网络状况有关:

希望本文能帮助到每一个热爱云原生、虚拟化技术的程序员。

相关推荐
豆芽脚脚38 分钟前
docker compose再阿里云上无法使用的问题
阿里云·docker·容器
十行代码九行报错3 小时前
Docker基础学习笔记
笔记·学习·docker
AKAMAI13 小时前
AI需要防火墙,云计算需要重新构想
人工智能·云原生·云计算
Agome9914 小时前
Docker之自定义jkd镜像上传阿里云
阿里云·docker·容器
无能百分百15 小时前
阿里云服务器ECS安装Docker(CentOS 7.x)
docker
小猿姐16 小时前
KubeBlocks for Milvus 揭秘
数据库·云原生
wdxylb18 小时前
云原生俱乐部-RH134知识点总结(2)
linux·云原生
deeper_wind19 小时前
k8s-单主机Master集群部署+单个pod部署lnmp论坛服务(小白的“升级打怪”成长之路)
云原生·容器·kubernetes
zhenshanrenhao21 小时前
#买硬盘欲安装k8s记
云原生·容器·kubernetes
bing.shao1 天前
微服务容错与监控体系设计
微服务·云原生·架构