どの程度ファイルサイズが減るのか。調べてみた。
TL;DR;
- 圧縮前で2.6MB削減
- 解凍後サイズで6MB削減
手順
alpineのみをベースイメージとした時と、alpineでビルドしscratchでイメージ作成した場合を比較
-- FROM alpine:3.10.3
++ FROM alpine:3.10.3 as builder
RUN wget -O - 'https://github.com/ktr0731/evans/releases/download/0.8.4/evans_linux_amd64.tar.gz' | tar zxvf -
++ FROM scratch
++ COPY --from=builder /evans /evans
ENTRYPOINT ["/evans"]
結果
| before | after | |
|---|---|---|
| 圧縮時のサイズ | 12.48MB | 9.82MB |
| 解凍後のイメージサイズ | 27.3MB | 21.3MB |