Docker文件系统

2017-09-26  本文已影响626人  逑熙

一个典型的 Linux 系统要能运行的话,它至少需要两个文件系统:

rootfs/boofs

Linux 系统在启动时,roofs 首先会被挂载为只读模式,然后在启动完成后被修改为读写模式,随后它们就可以被修改了。

aufs:(Ubuntu/debian默认)
AUFS (AnotherUnionFS) 是一种Union FS,简单来说就是支持将不同目录挂载到同一个虚拟文件系统下的文件系统。Aufs driver是Docker最早支持的driver,但是aufs只是Linux内核的一个补丁集,而且不太可能会被加入到Linux内核中。但是由于aufs是唯一一个可以实现容器间共享可执行代码和运行库的storage driver,所以当你跑成千上百个拥有相同程序代码或者运行库的时候,aufs是个相当不错的选择。(记得安装linux-image-extra-*的kernel包)

device mapper:(CentOS/RH默认)
Device mapper是Linux 2.6内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略。
Device mapper driver会创建一个100G的简单文件包含你的镜像和容器。每一个容器被限制在10G大小的卷内, 可以调整
你可以在启动Docker daemon时用参数-s 指定driver:docker -d -s devicemapper。

Btrfs:
Btufs driver 在Docker build时可以很高效。但是跟device mapper一样不支持设备间共享存储。

上一篇 下一篇

猜你喜欢

热点阅读