Docker 缺省的文件系统是 Devicemapper 。那么怎么用到先进的 Btrfs 呢?
准备:
一、安装btrfs的套件:
yum install -y btrfs-progs
mprobe btrfs
echo modprobe btrfs >> /etc/rc.modules
chmod +x /etc/rc.modules
二、如果系统已经安装好,分区已经固定,那就需要用虚拟的方法做出 btrfs 分区。
mkdir /img
dd if=/dev/zero of=/img/btrfs.img bs=1024 count=10000000
mkfs.btrfs /img/btrfs.img
mount -o loop /img/btrfs.img /var/lib/docker
三、如果是分区未固定,那就用原生方法来做 btrfs 分区,这里假设 /dev/sdb 是可用空分区
echo -e "o\nn\np\n1\n\n\nw" | fdisk -c /dev/sdb
pvcreate /dev/sdb1
vgcreate docker_btrfs /dev/sdb1
lvcreate -l 100%FREE -n docker_btrfs01 docker_btrfs
mkfs.btrfs /dev/docker_btrfs/docker_btrfs01
echo "/dev/docker_btrfs/docker_btrfs01 /var/lib/docker btrfs defaults 0 0" >> /etc/fstab
mount -a
四、重新启动 Docker ,这时的 /var/lib/docker 目录下应该是空的
编辑 Docker 选项:
vi /etc/default/docker
------
DOCKER_OPTS="-s btrfs"
------
重启:
service docker restart
验证一下:
docker info