Хранилище ZFS на Docker

Я хотел бы попробовать ZFS в док-контейнере Ubuntu (16.04). Выполнено следующее: 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

После запуска докера

> 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?


person Vic    schedule 24.08.2016    source источник
comment
aufs - это запасной вариант, когда что-то не получается. Что регистрирует демон Docker при запуске?   -  person Matt    schedule 24.08.2016
comment
Можно найти журналы демона docker @ /var/log/upstart/docker.log. Как включить регистрацию демона. К вашему сведению, я запускаю docker daemon sudo service docker start. Не уверен, что мне нужно передать какой-то флаг для получения журналов   -  person Vic    schedule 24.08.2016
comment
Я думал, что это уже будет регистрироваться ... /etc/default/docker и /etc/init/docker.conf должны подробно указывать параметры демона докера. Вы можете временно добавить -D для отладки или --log-level=info   -  person Matt    schedule 24.08.2016


Ответы (1)


Предполагая, что у вас есть:

  • пул ZFS (назовем его data)
  • набор данных ZFS, смонтированный на /var/lib/docker (созданный с помощью команды в строке: zfs create -o mountpoint=/var/lib/docker data/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
person Laurent Gosselin    schedule 14.11.2016