Alpine Linux 是一套極小安全又簡單的作業系統,在現今 Docker Images 裡面,最主要推崇的就是 Ubuntu 作業系統,但是令人詬病的是 Ubuntu 還是不夠小,今天看到 Alpine 在 docker 內的大小大約是 5 MB
,看到這 size 大小,相信是令人很震撼,之前要是看到這 size 大概只有 OpenWRT 編譯 BusyBox 才有可能的大小,但是 OpenWRT 最主要還是缺乏很多目前 popular 的套件,所以 Alpine 幫你解決這問題,提供大量的 Packages 讓開發者使用。底下就可以看出 Alpine 擊敗目前盛行的 docker images 大小比較圖。
使用方式
我們來看看傳統 Ubuntu 的方式,安裝 Redis 工具
FROM ubuntu-debootstrap:14.04 RUN apt-get update -q \ && DEBIAN_FRONTEND=noninteractive apt-get install -qy redis \ && apt-get clean \ && rm -rf /var/lib/apt ENTRYPOINT ["redis-cli"]
用 Alpine 則是
FROM gliderlabs/alpine:3.3 RUN apk --update add redis ENTRYPOINT ["redis-cli"]
後者執行的時間 (含裝系統) 總共需要 14 秒
大小為 6.535 MB
前者 Ubuntu 大小為 88.09 MB
差距還蠻大的。可能找時間把開發環境轉成 Alpine Docker 試試看,更多資料請參考:Alpine Linux Docker image. Win at minimalism!