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

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

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

相关推荐
杰哥技术分享9 分钟前
在 CentOS 上安装 Docker 和 Docker Compose 并配置使用国内镜像源
linux·docker·centos
Gold Steps.1 小时前
Docker容器部署elasticsearch8.*与Kibana8.*版本使用filebeat采集日志
运维·docker·云原生·es
上海运维Q先生1 小时前
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
云原生·k8s·cilium
AWS官方合作商2 小时前
Amazon RDS on AWS Outposts:解锁本地化云数据库的混合云新体验
云原生·云计算·aws
Java陈序员3 小时前
再见 Navicat!一款开源的 Web 数据库管理工具!
java·react.js·docker
AWS官方合作商9 小时前
在CSDN发布AWS Proton解决方案:实现云原生应用的标准化部署
java·云原生·aws
MickeyCV15 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
棠十一15 小时前
Rabbitmq
分布式·docker·rabbitmq
藥瓿亭16 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
2302_8097983217 小时前
【JavaWeb】Docker项目部署
java·运维·后端·青少年编程·docker·容器