容器镜像加速服务器
本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