overlayfs
コンテナイメージの複数レイヤーを一つの整合したファイルシステムに重ね、上に薄い書き込み可能レイヤーを載せる、Linuxカーネルのユニオンファイルシステム。多くのコンテナが同じ不変のイメージレイヤーをコピーなしで共有できるのは、これのおかげだ。
仕組みはこうだ。overlayfsは「lower」(共有される読み取り専用の不変イメージレイヤー)と「upper」(コンテナ固有の書き込み可能レイヤー)を、「merged」ビューとして統合する。読み取りはレイヤーから返され、書き込みではコピーオンライトが働く。ファイルは書き込み可能レイヤーにコピーアップされてから変更され、元のレイヤーには触れない。
利点は、同じイメージから作った10個のコンテナがディスク上のレイヤーを1つ分しか使わず、差分だけを個別に持つこと。書き込むまで何もコピーされないので起動も速い。VMイメージ全体に比べ、コンテナの容量効率と起動の速さが際立つ理由がここにある。コンテナが終了すれば書き込みレイヤーは破棄される。コンテナのファイルシステムが揮発性である理由でもある。