aufs は union mount を実現するファイルシステムの一つで, Docker が利用しているファイルシステムの一つです. 2017年にリリースされれる可能性が高い Debian 9 stretch では aufs が標準のカーネルでは利用できなくなり, DKMS を用いて導入する必要があります.
Debian 8 jessie 以前
Debian 8 jessie 以前では aufs が標準の linux-image にカーネルモジュールとして含まれており, 簡単に利用することができました. Docker も Debian でのデフォルトのストレージドライバとして aufs を利用していました.
aufs の Debian 9 stretch からの削除
Debian 9 stretch では aufs が linux-image の中に含まれなくなりました. このことは2014年12月の debian-kernel ML に記述されています.
The overlayfs union filesystem was included in Linux 3.18. I am
assuming that this will cover the needs of Debian live systems, so I’ve dropped aufs from the Debian packaging. Replacing aufs with overlayfs
Debian で aufs を利用できるようになっていたのは Live システム (Live CD など) のためで, Linux 3.18 から新しい union mount に対応したファイルシステムである overlayfs が利用できるようになったため, aufs は不要になったという経緯のようです.
Debian 9 stretch での aufs-dkms の提供
aufs が利用できなくなってからしばらく経った 2016年9月に, aufs-dkms というパッケージが unstable に追加され, 2016年10月から stretch/testing でも利用できるようになりました. DKMS は apt で簡単に導入できます.
sudo aptitude install aufs-dkms
Docker でのデフォルトストレージドライバ
aufs-dkms が導入されていない場合, Debian 9 stretch では Docker のデフォルトのストレージドライバが devicemapper に変わっています. aufs-dkms を導入した状態で Docker を導入すると, デフォルトで aufs のストレージドライバが利用されるようです.
aufs は Docker での使用において stable で production ready とされているため, 必要に応じで aufs-dkms をインストールして利用するのが良さそうです. なお, Debian をもとにしている Ubuntu では, 最新の Ubuntu 16.10 Yakkety Yak でも標準で aufs が利用できます.
参考
更新履歴
- 2016/12/14 aufs-dkms が利用できるという指摘をいただいたため, 記事の内容を修正.
注: 記事中の Docker は Debian が配信しているパッケージ (docker.io) ではなく, Docker Inc. が配信しているパッケージのことを指しています.