7

我想在 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
 ...

想知道为什么我仍然得到 **Storage Driver: aufs & Root Dir: /var/lib/docker/aufs" 代替 zfs?

另外,如何将“/zpool-docker”映射到 Ubuntu 容器映像中?

4

1 回答 1

9

假设你有:

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

然后:

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

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

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

重启你的 docker 守护进程。

docker info现在应该显示:

Storage Driver: zfs
Zpool: data
Zpool Health: ONLINE
Parent Dataset: data/docker
于 2016-11-14T15:56:36.047 回答