一.介绍
Docker支持AUFS、Btrfs、Device mapper、OverlayFS、Overlay2FS、ZFS五种存储驱动。(关于这些的优劣我就不谈了,说法太多,大家搜索一下可以看到很多相关的文章)
对于CentOS系统来说,一般装完Docker都是第一个,主要是内核的问题,如果是7的话可以改OverLay,不过6就没办法了,但是,真的没办法吗,当然不是,升级内核就OK了。
如果要aufs那么可以选择Kernel-ml-aufs,不过不推荐,直接上4.9版本的内核配合BBR岂不是美滋滋,这个在我之前的文章中有介绍,感兴趣的可以去看看。
aufs之所以不推荐是因为它要对内核打patch,不是原生支持的,所以我们当然选择OverLay或者OverLay2咯,在升级完内核的前提下,我们直接修改Docker的配置,或者启动命令就能够完成切换,不过,建议在切换前确保你本地的镜像已经备份,因为修改后会无法识别之前的,建议备份完后先清空然后再切换。
另外,如果对Docker这些存储驱动的性能感兴趣的可以去网上搜下,有读写啥的对比。
二.方法
我直接以命令的方式给出,另外,请注意,最新的docker默认使用的就是overlay2,关于CentOS6安装最新的Docker,我曾经稍微介绍过一下——> 传送门
后面的文章会详细介绍如何在CentOS6的环境下安装最新的Docker 17.03版本,感兴趣的可以看看。
PS.官方文档感兴趣的可以自己看 ——>传送门
#查看当前存储驱动 docker info|grep -i storage #停止Docker service docker stop #清空数据,如果有啥需要的请自己备份 rm -rf /var/lib/docker/* #修改配置文件 vi /etc/docker/daemon.json #如果没有这个文件或没有内容,就直接把下面的粘贴进去 #不然就只添加那一条 #如果不是在最后一行加请自行在末尾添加逗号 { "storage-driver": "overlay2" } #如果是CentOS7或者RedHat7内核在3.10.0-693以下的,换成下面的 { "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] } #当然,也可以通过给docker修改启动参数的方式来 # 1.修改/etc/init.d/docker # 这个直接在 dockerd 后面加参数就行,不过其实和下面的差不多 # 2.修改/etc/sysconfig/docker # 改成类似 other_args="-s overlay2" # 3.修改/usr/lib/systemd/system/docker.service # 改成类似 ExecStart=/usr/bin/dockerd -s overlay2 #启动docker service docker start
然后就OK了,可以不再受之前DeviceMapper的性能限制了。
文章评论