Alpine LinuxはDockerのアプリケーションコンテナーのベースOSとしての利用が進んでおり、汎用のOSからAlpine Linuxに変更することによりDockerイメージの圧縮が期待されますが、じゃあこれをマシンで使ったときはどうなのかということで比較してみました。
8GBの仮想ストレージを割り当てた仮想マシンにOSとSSHサーバーをインストールした場合の比較です。
Alpine Linux 3.6.2 /dev/sda3 ext4 5.8G 398.4M 5.1G 7% / Debian 9.2 /dev/sda1 ext4 6.9G 702M 5.8G 11% / Ubuntu Server 16.04.3 /dev/sda1 ext4 6.8G 1.8G 4.7G 28% /
やはり最小インストール+SSHサーバーだとAlpine Linux 3.6.2が一番ストレージの消費は少ないですが、標準で利用されるログインシェルがashなところがわたし的には慣れないところとBashを追加するのは次のようにちょっと作業がいるところを考えると、Debianがいいんじゃないかなと思います。標準サポートしているパッケージ数はDebianやUbuntuのほうがずっと多いですからね。
Alpine Linuxでログインシェルをbashに変更
# vi /etc/apk/repositories /v3.6/community #リポジトリーURLのcommunityのコメントを外す # apk install bash shadow #chshコマンドとBashをインストール # chsh -s /bin/bash #シェルを変更 # reboot
ちなみにAlpine Linuxのいいところは
次のようなところは良いところだと思います。
ちなみにDockerイメージのサイズは
Dockerのイメージのサイズ比較は次のとおりです。圧倒的に小さいのがわかります。
% docker image list |awk 'NR>1 {print $1,$2,$7}' ubuntu 16.04 122MB ubuntu 17.10 93.8MB debian 9 100MB alpine latest 3.97MB