Edit
Alpine Linux とは?

musl (glicなどのライブラリの代わりに作られた軽量化 libc)と、BusyBox (linuxコマンド類を1つにまとめることで、極限まで軽量化したCUIコマンド類。組み込みLinuxの十徳ナイフと呼ばれている)をベースとした軽量linuxである。主に組み込み用に開発が進められてきたが、dockerなどのコンテナ用としても活用されている。

*特徴的なシステム構成 systemdは使われずに OpenRCという小型のシステムが動作する。またパッケージ管理も apkという独自のものが利用されている。

Edit
Dockerコンテナとしての最低限の準備

# vi Dockerfile
 FROM alpine:latest

Edit
導入時の実用的なインストール

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を参照。

Edit
s6という名のプロセススーパバイザー

公式ページはここ

Edit
トラブルシューティング

Edit
apk updateですらエラーがでる。

DNS解決に失敗している。docker run のオプションに --network=host を付けると一応動く。