docker imageを作る時のベースイメージとして、なるべくサイズを抑えたい層向けにはalpine linuxがよく使われていると思いますが、あれだとソースからビルド何かビルドしようとすると、ちょくちょくトラブるんですよね。
特にalpine linuxベースでいろいろと依存ライブラリやらソフトのビルド設定を追加してすくすくと育てていったDockerfileに、最後にインストールしようとしたソフトがビルドできなかった時とか辛いですよね。
こんなに、悲しいのなら苦しいのなら・・・・愛などいらぬ!!
というわけで、alpine以外のメジャーなディストロのイメージサイズを調べてみました。
% docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest e6a0117ec169 6 days ago 272MB opensuse/leap latest 37f8370bfe62 12 days ago 126MB opensuse/tumbleweed latest 91ce1acd49a8 2 weeks ago 120MB debian latest d04e7939dfd8 2 weeks ago 118MB ubuntu latest 54ab604fab8d 3 weeks ago 65.6MB alpine latest bb3de5531c18 3 weeks ago 5.34MB fedora latest 2f61b50da868 2 months ago 208MB archlinux latest 1d6f90387c13 3 weeks ago 381MB
なお、arch linuxはM1 mac用が無いようなので、amd64のイメージ。他は全てlinux/arm64/v8のイメージサイズです。
改めて並べてみるとalpine linuxのサイズ(5.34MB)が飛び抜けて小さいですね。
でも、この後に起こるトラブルを回避すると考えると、ubuntuの65MBは十分許容範囲と言えそうです。 ま、色々とパッケージを追加したらサイズは膨れあがってくんですけどね orz