docker - Docker 上的 ZFS 存储

标签 docker ubuntu-16.04 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
 ...

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

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

最佳答案

假设你有:

  • 一个 ZFS 池(我们称之为 data)
  • 安装在 /var/lib/docker 上的 ZFS 数据集(使用以下命令创建: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

关于docker - Docker 上的 ZFS 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39114143/

相关文章:

docker - AWS Step 函数、映射状态和批量输入/输出

ubuntu-16.04 - GNU Radio Companion WX Instrumentation

c - sizeof() 运算符的输出数据类型

unix - 当 ZFS 无法提供未损坏的数据时,程序会看到什么?

docker 推 "denied: requested access to the resource is denied"

docker - docker 内的 Chrome ERR_CONNECTION_REFUSED

mysql - 为AWS EC2实例分配辅助私有(private)IP地址后无法访问RDS MySQL

linux - 递归复制/dev/null到文件pattern

migration - 如何将现有的 20.04 ext4 安装迁移到不同磁盘上的 zfs root?

运行命令后 Docker 容器退出