Docker上的ZFS存储

我想在Ubuntu(16.04)docker容器上尝试ZFS。 遵循以下https://docs.docker.com/engine/userguide/storagedriver/zfs-driver/

> lsmod | grep zfs zfs 2813952 5 zunicode 331776 1 zfs zcommon 57344 1 zfs znvpair 90112 2 zfs,zcommon spl 102400 3 zfs,zcommon,znvpair zavl 16384 1 zfs 

列出ZFS装载

 >sudo zfs list NAME USED AVAIL REFER MOUNTPOINT zpool-docker 261K 976M 53.5K /zpool-docker zpool-docker/docker 120K 976M 120K /var/lib/docker 

启动docker后

 > sudo docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 1.12.0 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: zfs Dirs: 0 ... 

不知道为什么我仍然得到**存储驱动程序:aufs&根目录:/ var / lib / docker / aufs“代替zfs?

另外我怎样才能将“/ zpool-docker”映射到Ubuntu容器映像中?

假设你有:

  • 一个ZFS池(我们称之为data
  • 安装在/var/lib/docker上的ZFS数据集(使用以下命令zfs create -o mountpoint=/var/lib/docker data/dockerzfs create -o mountpoint=/var/lib/docker data/docker

然后:

停止你的systemctl stop docker.service守护进程(例如systemctl stop docker.service

创build一个文件/etc/docker/daemon.json或修改它以包含一行"storage-driver"设置为zfs

 { ... "storage-driver": "zfs" ... } 

重新启动你的d​​ocker守护进程。

docker info现在应该显示:

 Storage Driver: zfs Zpool: data Zpool Health: ONLINE Parent Dataset: data/docker