alpine linux是一个最小化linux系统,常用作docker基础镜像。可以有效减小镜像体积
但是天朝网络很。。。。所以经常容易安装软件失败(apk update && apk --no-cache add ...)
利用国内镜像源
三个都用过,但是都会出现安装软件失败的情况(需要多次重新构建),严重影响效率。
境外服务器做反代
如果有幸有台境外(东京,香港等)服务器,又不想镜像站(全部镜像下载),可以考虑使用nginx反代国外镜像(找一个近源高质量镜像,别三天两头老崩溃的那种)
自建镜像站
截止 20170510 官方给出的全部镜像的磁盘使用量
| edge | v2.4 | v2.5 | v2.6 | v2.7 | v3.0 | v3.1 | v3.2 | v3.3 | v3.4 | v3.5 | v3.6 | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 53.1G | 18.8G | 10.4G | 13.0G | 16.5G | 16.5G | 17.5G | 14.5G | 19.0G | 23.2G | 32.5G | 34.4G | 269.5G |
一般自用的话,只会用有限几个版本,比如v3.6 的x86_64 ?那么其余的完全可以忽略,这么一来会小很多,大约11G左右。
核心命令是
rsync.sh
src=rsync://rsync.alpinelinux.org/alpine/
dest=/usr/share/nginx/html
/usr/bin/rsync -prua \
--exclude-from /etc/rsync/exclude.txt \
--delete \
--timeout=600 \
--delay-updates \
--delete-after \
"$src" "$dest"/etc/rsync/exclude.txt
edge/
v2.*/
v3.0/
v3.1/
v3.2/
v3.3/
v3.4/
v3.5/
aarch64/
armhf/
ppc64le/
s390x/
x86/解释一下,edge+v. 是版本号,其余的是不同cpu架构的不同版本。x86是intel 的32位
lscpu | grep Architecture根据实际情况,自行加减
详细情况,详见项目 anjia0532/alpine-package-mirror
博客 anjia.ml/2017/08/23/…
掘金 juejin.cn/post/684490…
简书 www.jianshu.com/p/36396a20e…