OverlayFS是一种现代的联合文件系统,与AUFS类似,但是速度更快且实现更简单。Docker为OverlayFS提供了两个存储驱动程序:原始的overlay,更新的和更稳定的overlay2。
本主题将Linux内核驱动OverlayFS程序称为overlay或将Docker存储驱动器称为或overlay2。
前提条件
OverlayFS是推荐的存储驱动程序,如果满足以下先决条件,则受支持:
Linux内核的版本4.0或更高版本,或使用内核的版本3.10.0-514或更高版本的RHEL或CentOS。如果使用较旧的内核,则需要使用overlay驱动程序(不建议这样做)。
在overlay和overlay2驱动程序支持xfs支持的文件系统,但只d_type=true启用。
使用xfs_info验证ftype选项设置为1。要xfs正确格式化 文件系统,请使用标志-n ftype=1。
更改存储驱动程序会使现有容器和映像在本地系统上不可访问。使用docker save保存你已经建立的任何图像或改变存储驱动程序之前,他们推到码头工人集线器或私人注册,这样就不需要再后来创建它们。
配置Docker用overlay或overlay2存储驱动程序
强烈建议您overlay2尽可能使用驱动程序,而不要使用overlay驱动程序。Docker EE不支持该overlay驱动程序。
要将Docker配置为使用overlay存储驱动程序,您的Docker主机必须运行Linux内核的3.18版本(最好是更新的)并加载了覆盖内核模块。对于overlay2驱动程序,您的内核版本必须为4.0或更高版本。
在执行此过程之前,您必须首先满足所有 先决条件。
以下步骤概述了如何配置overlay2存储驱动程序。如果您需要使用旧版overlay驱动程序,请指定它。
1.停止Docker。
$ sudo systemctl stop docker
2.将的内容复制/var/lib/docker到一个临时位置。
$ cp -au /var/lib/docker /var/lib/docker.bk
3.如果要使用与使用的备份文件系统不同的备份文件系统 /var/lib/,请格式化该文件系统并将其装入/var/lib/docker。确保添加此安装座/etc/fstab以使其永久。
4.编辑/etc/docker/daemon.json。如果尚不存在,请创建它。假设文件为空,请添加以下内容。
{
"storage-driver": "overlay2"
}
如果daemon.json文件包含格式错误的JSON,则Docker无法启动。
5.启动Docker。
$ sudo systemctl start docker
6.验证守护程序正在使用overlay2存储驱动程序。使用docker info命令并查找Storage Driver和 Backing filesystem。
$ docker info
Containers: 0
Images: 0
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
<...>
码头工人正在使用的overlay2存储驱动程序,并自动创建覆盖所要求的安装lowerdir,upperdir,merged,和workdir结构。