搭建自己的Docker(容器)镜像加速器

容器镜像加速服务器

本Github项目可快速部署容器镜像加速服务器。 由于配置格式及docker客户端配置限制, 本项目仅适用于使用containerd runtime的容器镜像加速。

本项目两个分支:

  • main: 使用nginx作为反向代理
  • traefik: 使用traefik进行流量路由

前置要求

  • Python版本 3.8+
  • 安装certbot(仅nginx版本需要, traefik版本不需要)
  • 安装docker
  • 安装docker compose
  • 一个公网可解析的域名

填写配置文件

config.json中填写必要的配置:

  • registries: 需要加速的镜像站列表, 填写域名即可, 默认为https协议;
  • domain: 加速器域名,需提前申请并注册到互联网名称服务器,公网可解析;
  • email: 填写一个合法的邮箱地址即可

运行

执行以下命令

  • 如使用main分支代码将自动申请SSL证书(如在nginx/ssl目录下没有证书存在),生成配置文件
  • 如使用traefik分支代码, 无需进行证书申请, traefik会自动连接Let’s Encrypt进行证书申请

然后启动加速器:

python3 main.py

输出内容例如:

Applying SSL certificate...
SSL certificate for docker.uglyduck.site is already present.
Generating registry server configurations...
registry-1.docker.io
docker.elastic.co
gcr.io
k8s.gcr.io
quay.io
nvcr.io
rocks.canonical.com
mcr.microsoft.com
Generating Nginx configuration...
Generating Docker Compose configuration...
Starting Docker Compose...
[+] Running 10/10
 ✔ Network mirror-server_default   Created                                                                                                                                   0.1s 
 ✔ Container registry-1_doc
### 配置和使用Docker镜像加速器 #### Docker镜像加速器的作用 Docker镜像加速器能够显著改善从国外源拉取镜像的速度。由于官方镜像仓库位于海外,网络状况不佳可能导致下载速度缓慢甚至失败。通过配置国内的镜像加速器,可以有效解决这一问题,从而加快开发环境搭建以及容器化应用部署的过程[^4]。 #### 安装并启动Docker服务 确保已经按照标准流程完成了Docker软件包的安装,并成功启用了该服务。对于大多数Linux发行版而言,这通常涉及到更新系统包列表、安装必要的依赖项以及执行特定于操作系统的命令来完成实际安装工作[^1]。 #### 配置中科大镜像加速器 为了使Docker客户端能识别到新的镜像源地址,在`/etc/docker/daemon.json`文件中加入如下JSON对象: ```json { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] } ``` 保存更改后重启Docker守护进程以生效新设置。此时再尝试pull任何公共库内的image都将自动转向至中国科学技术大学提供的高速缓存节点进行加载。 #### 使用阿里云镜像加速器 同样编辑上述提到的那个配置文件(`daemon.json`),不过这次替换为阿里云所提供的URL路径作为参数值之一: ```json { "registry-mirrors": ["https://<your_accelerator_url>"] } ``` 注意:<your_accelerator_url>需由用户自行前往阿里云官网注册账号获得专属链接[^2]。 #### 验证配置有效性 最后一步就是确认整个过程无误。可以通过发起一次简单请求测试当前环境下的表现情况;比如输入`docker pull hello-world`指令查看终端返回的信息是否显示正在连接至预期的目标站点上获取资源数据流。一旦观察到了明显的提速现象,则说明一切正常运作良好[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

eponia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值