更改docker存储引擎为overlayfs2

在 docker 1.13版本发布后, 在众多的存储引擎中, overlayfs2 脱颖而出, 即将用作为未来主要的存储引擎. 本篇文章介绍如何更改 docker 的存储引擎为 overlayfs2

require

  • kernel 4.0+

overlayfs 的使用需要保证内核版本不低于3.8, 但是如果使用 overlayfs2 则需要保证内核版本不低于 4.0

overlayfs2 相比较于 overlayfs 有大量的性能优化和新的特性, 建议使用 overlayfs2

  • Ubuntu 16.04 LTS 中的内核版本为 4.4+
  • Fedora 25 server 中的内核版本为 4.8+
  • CentOS 7+ 中的内核版本为 3.10+ 可以使用 yum 安装长期支持版的内核 4.4+ (亲测可用, 但是线上环境慎用)

指定存储引擎

Ubuntu 安装好 docker 后, docker 默认还是使用了 aufs 存储引擎.

1
2
3
4
> vim /etc/docker/daemon.js
{
"storage-driver": "overlay2"
}

在 docker 的 js 配置文件中, 添加以上一行配置即可, 如果已经有其他配置选项, 记得添加逗号~

1
2
3
4
5
6
{
"registry-mirrors": [
"http://172d594a.m.daocloud.io"
], # <--- 一定要注意这个逗号, json 的格式不用再多说了吧...
"storage-driver": "overlay2"
}