HPCメモ

HPC(High Performance Computing)に関連したりしなかったりすることのメモ書き

docker imageのベースに何を使うのが良いか?

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