0x 前言
由于一些特殊原因,国内许多Docker镜像服务被迫关闭。尽管阿里、华为等公司仍在提供镜像服务,但这些服务也存在随时关闭的风险。此外,我个人也有Python、NPM、PyTorch等镜像的需求。经过一番搜索,我找到了一个开源项目,并在部署过程中遇到了一些问题。为此,我整理了这些经验,并撰写了这篇文章。
1x 正文
一些准备
镜像服务域名绑定服务器IP(类似这样,涂黑的部分是IP)
克隆项目
git clone https://github.com/NoCLin/LightMirrors.git
编辑.env文件,配置环境变量
cp .env.example .env
nano .env
.env内容
# for caddy
# 填写cloudflare的DNS API TOKEN
CLOUDFLARE_DNS_API_TOKEN=xxxx
# 如果不使用cloudflare,理论上这部分内容也可以自行配置
# 开启ssl则填写https,否则不用改
SCHEME=http
# 填写访问域名
BASE_DOMAIN=local.homeinfra.org
# for aria2 and mirrors
# 填写RPC请求的的SECRET
RPC_SECRET=changeit
# 填写代理,如果需要
# for all, if you want set proxy for all services
# aria2 need the lowercase one, FYI https://aria2.github.io/manual/en/html/aria2c.html#environment
# all_proxy=
构建镜像
由于项目所需镜像暂未发布到Dockerhub,所以需要自己构建镜像
cd /path/to/LightMirrors/src
docker buildx build -t lightmirrors/mirrors:latest .
cd /path/to/LightMirrors/caddy
docker buildx build -t lightmirrors/caddy:latest .
cd /path/to/LightMirrors/aria2
docker buildx build -t lightmirrors/aria2:latest .
这里我也构建好了一份镜像,有需要的可以下载导入,如果无法正常使用,可能需要自行构建
我的构建环境是amd64架构,系统Ubuntu 22.04
123云盘
提取码:oMFH
谷歌云盘
https://drive.google.com/drive/folders/1wSuF46Zn-TSDKc1q6O2dZ062WZTO5Ckr?usp=drive_link
(可选)加载镜像
docker -o 下载的镜像名
docker images
成功加载截图
运行项目
当一切准备就绪,就可以开始运行项目了
cd /path/to/LightMirrors
# (二选一)如果使用caddy作为反代服务
docker-compose -f docker-compose-caddy.yml up
# (二选一)否则
docker-compose up
# 执行完上面的二选一操作后
docker ps
成功运行截图
测试与使用
这里直接引用原文,将图中的域名更换为你的域名即可