musl (glicなどのライブラリの代わりに作られた軽量化 libc)と、BusyBox (linuxコマンド類を1つにまとめることで、極限まで軽量化したCUIコマンド類。組み込みLinuxの十徳ナイフと呼ばれている)をベースとした軽量linuxである。主に組み込み用に開発が進められてきたが、dockerなどのコンテナ用としても活用されている。
*特徴的なシステム構成 systemdは使われずに OpenRCという小型のシステムが動作する。またパッケージ管理も apkという独自のものが利用されている。
# vi Dockerfile FROM alpine:latest
Alpine Linux は 3.3 から apk で --no-cache というオプションが使える。昔は apk add の後ろに && rm -rf /var/cache/apk/* と記述していたが必要なくなった。
# apk update # apk --no-cache add bash
複数のパッケージを導入するときに、それらにラベルが付けられる。削除するときにこの名前1つで導入時のパッケージすべてが削除される。
# apk add --virtual .install-packeages curl nginx php-fpm unicorn postfix
<削除時>
# apk del .install-packeages
また削除時に関連するファイルも一緒に消してくれる。--purge オプションも増えた。 詳しくはここのAlpine Packageを参照。
DNS解決に失敗している。docker run のオプションに --network=host を付けると一応動く。