Alpine Linux 挑戰最小 docker image OS

Screen Shot 2015-12-27 at 9.17.22 AM

Alpine Linux 是一套極小安全又簡單的作業系統,在現今 Docker Images 裡面,最主要推崇的就是 Ubuntu 作業系統,但是令人詬病的是 Ubuntu 還是不夠小,今天看到 Alpine 在 docker 內的大小大約是 5 MB,看到這 size 大小,相信是令人很震撼,之前要是看到這 size 大概只有 OpenWRT 編譯 BusyBox 才有可能的大小,但是 OpenWRT 最主要還是缺乏很多目前 popular 的套件,所以 Alpine 幫你解決這問題,提供大量的 Packages 讓開發者使用。底下就可以看出 Alpine 擊敗目前盛行的 docker images 大小比較圖。

Screen Shot 2015-12-27 at 9.04.43 AM

使用方式

我們來看看傳統 Ubuntu 的方式,安裝 Redis 工具

FROM ubuntu-debootstrap:14.04
RUN apt-get update -q \
  && DEBIAN_FRONTEND=noninteractive apt-get install -qy redis-tools \
  && 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!


See also