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.im/post/599b1b…
簡書 www.jianshu.com/p/36396a20e…