docker 换更优秀的 文件系统 比如 OverlayFS(centos7 overlay2)

内容摘自:http://www.projectatomic.io/blog/2015/06/notes-on-fedora-centos-and-docker-storage-drivers/

docker 有时候会报

Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.

这就是文件系统没有用比较优秀的

# systemctl stop docker
# rm -rf /var/lib/docker //注意好像 images可能会被清空
编辑/etc/sysconfig/docker-storage
DOCKER_STORAGE_OPTIONS= -s overlay

有时候可能这时候还不能正常启动
编辑/etc/sysconfig/docker里的OPTIONS后面,将selinux哪项给去掉就行了

systemctl start docker
docker info  就可以看到改变了


备注:
overlay有较高的内核版本要求哦  反正忘4.x以上升就对了 哈

2016-12-21:docker1.12.5 新增老的方式已经不行了 新的
找到任意一个可以给/usr/bin/dockerd 加参数的地方
比如:vi /usr/lib/systemd/system/docker.service
增加参数
ExecStart=/usr/bin/dockerd --storage-driver=overlay2

注意拼写 反正我自己试了好多次 好多缩写其实不成功 最后成功的是这个
然后重点是要
systemctl stop docker.service
rm -rf /var/lib/docker
也就是删掉之前存在的镜像等文件的docker目录 注意该目录是可以换的哦
否则就算启动也不会覆盖之前的s
torage-driver
systemctl daemon-reload;systemctl start docker.service

docker info |head
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 1.12.5
Storage Driver: overlay
Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs

成了

如果要把一个独立的数据分区设置为docker数据目录,需手工把docker原目录的数据都移到新的存储分区上去,然后以新的存储分区挂载到/var/lib/docker目录下。

fdisk /dev/sdb 
第一次按n回车 后面一路按照默认即可所以直接回车 最后按w回车结束
mkfs.xfs -f /dev/sdb1 
参考:http://www.jb51.net/LINUXjishu/248321.html

vi /etc/fstab

新增

/dev/sdb1 /var/lib/docker xfs  defaults  0  0

重启

搞定

原文地址:https://www.cnblogs.com/sfissw/p/5484927.html