【问题标题】:ZFS storage on DockerDocker 上的 ZFS 存储
【发布时间】:2016-08-24 03:53:38
【问题描述】:

我想在 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 容器映像中?

【问题讨论】:

  • aufs 是任何失败时的后备。 docker daemon log 在启动时是什么意思?
  • 可以找到 docker daemon logs @ /var/log/upstart/docker.log。如何启用守护程序日志记录。仅供参考,我启动 docker 守护进程“sudo service docker start”。不确定我需要传递一些标志来获取日志
  • 我以为它已经在记录... /etc/default/docker/etc/init/docker.conf 应该详细说明 docker 守护程序选项。您可以临时添加-D 进行调试或--log-level=info

标签: docker ubuntu-16.04 zfs


【解决方案1】:

假设你有:

  • 一个 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

【讨论】:

    猜你喜欢
    • 2011-10-02
    • 2012-07-27
    • 2017-02-18
    • 2015-10-28
    • 2019-02-22
    • 1970-01-01
    • 2021-01-20
    • 2017-02-14
    • 2018-01-28
    相关资源
    最近更新 更多