【编者的话】本文用最简洁的语言介绍了如何在Ubuntu系统上运行Overlay文件系统,正如作者所说:AUFS是过去时代的王者,现在新的国王是Overlay。看来Overlay以后将是Docker存储的首选。
在上周的Docker伦敦大会上面,Jérôme Petazzoni分享了「 深度研究Docker存储驱动 」的演讲,非常棒。如果这件事还没有令我足够信服,那么Jessie Frazelle则完全说服了我,她在Qcon组织的演讲中宣称:AUFS是过去时代的王者,现在新的国王是Overlay。在Jessie的演讲过程中,我打算为我自己搭建这样的一个环境,因为我没有办法找到一个比我现在写的这个更加简单明了的手册。
OverlayFS之前已经加入到了Ubuntu内核中,但是那并不是我们想要的。Overlay(没有FS)是一个不同的内核模块,因此你需要安装3.18(或者以上)的内核:
cd /tmp/
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-headers-3.18.0-031800-generic_3.18.0-031800.201412071935_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-headers-3.18.0-031800_3.18.0-031800.201412071935_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-image-3.18.0-031800-generic_3.18.0-031800.201412071935_amd64.deb
sudo dpkg -i linux-headers-3.18.0-*.deb linux-image-3.18.0-*.deb
我已经在Ubuntu14.04和12.04环境下测试成功了。
你需要安装Docker 1.4或者更高版本(我使用1.5版本做测试的),具体可以参考 官方文档 来安装。
在有了新的内核并且重新启动以后,现在需要在/etc/default/docker中给DOCKER_OPTS设置 -s overlay
:
# Use DOCKER_OPTS to modify the daemon startup options.
DOCKER_OPTS="-s overlay"
设置好以后,重新启动Docker服务,如果一切顺利的话,你可以从 docker info
命令中得到如下的信息:
$ sudo docker info
Containers: 0
Images: 0
Storage Driver: overlay
Backing Filesystem: extfs
Execution Driver: native-0.2
Kernel Version: 3.18.0-031800-generic
Operating System: Ubuntu 14.04.1 LTS
etc...
为了使Overlay正常跑起来,你可能需要在Ubuntu 12.04的环境下执行 modprobe overlay
。还有一点需要注意:如果 Docker 不能成功地使用 Overlay 作为存储后端,那么将会转为使用DeviceMapper(而不是AUFS)机制存储。
原文链接: Using Overlay file system with Docker on Ubuntu (翻译:刘凯宁 校对:李颖杰)
===========================
译者介绍
刘凯宁,中南大学信息管理与信息系统专业,本科三年级在读,热爱互联网,热爱软件开发技术。大一下开始编程,熟悉Java SE,PHP,Go,有若干小型商业项目实践经验(网站、微信平台、JavaSE实用软件)和软件公司实习经历(上海热璞科技,201407-201409)个人网站:刘凯宁;技术博客:C2P技术博客;QQ:929025296 ;很高兴和各位前辈交流!