docker

Docker = AUFSという図式はもう忘れたほうがいいかもしれない、あるいはDockerとストレージドライバの話

More than 3 years have passed since last update.

2013年から2014年頃、空前のDocker大ブーム期に書かれたブログ記事には、よく「DockerはAUFSを使って差分イメージを実現している」と書かれてあります。

しかし最近のDockerではAUFSは使われていないのでもう忘れたほうがよいでしょう。(一応選択しようと思えばできます)


Dockerとストレージドライバの話

Docker 0.7から、ストレージ層がプラガブルになって、ストレージドライバを自由に選択できるようになりました。

最新版のDocker(v1.5)では、 下記の5つを選択できるようになっています。


  • aufs

  • btrfs

  • devicemapper

  • overlay

  • vfs

つまりaufsは選択肢のひとつにすぎないということです。


実際にどのストレージが使われているのか?

選択可能とは言え、大半のひとはデフォルトのまま使っていると思います。

ディストリビューションごとに、デフォルトのストレージドライバを調べてみました。

調査方法は、Dockerを標準的な方法でインストールしてdocker infoを叩いた結果を見ました。

(2015/4/1現在)

Distribution
Storage Driver

CentOS 7
devicemapper

Ubuntu 14.04
devicemapper

CoreOS
overlay

OSX(boot2docker)
aufs

というわけで、AUFSが使われているのはboot2dockerだけでした。

AUFSが使われなくなった理由としては、


Unfortunately, AUFS is not part of the standard linux kernel and it’s unclear when it will be merged.


AUFSはLinux本体に含まれていないし、将来そうなる可能性も不明だから、だそうです。


参考