Docker service starts before ZFS

"Чиновник" Amazon, Изображения Linux базируются от изображения CentOS, таким образом, Вы хотите использовать конфетку в качестве своего диспетчера пакетов, не склонного - добирается.

6
задан 24 March 2018 в 21:39
2 ответа

Я смог решить эту проблему, выполнив две вещи. Обратите внимание, что одного может быть достаточно.

Во-первых, явным образом укажите Docker использовать ZFS в качестве файловой системы, написав {"storage-driver": "zfs"} в файле / etc / docker / daemon.json . (Если файл существует на вашем диске, просто добавьте ключ драйвера хранилища)

Во-вторых, создайте следующий модуль systemd в файле /etc/systemd/system/docker-wait-zfs.service :

[Unit]
Description=Wait for ZFS before starting Docker
RequiredBy=docker.service
Before=docker.service
Requires=zfs.target
After=zfs.target

[Service]
Type=oneshot
ExecStart=/bin/true
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Затем выполните:

systemctl enable docker-wait-zfs.service
6
ответ дан 3 December 2019 в 00:27

Ответ здесь не работал на меня после недавнего обновления. Кажется, что у Вас не может быть "{"драйвера устройства хранения данных": "zfs"}" в Вашем "/etc/docker/daemon.json" больше, если корневой диск не использует ZFS. Это не было применимо ко мне, так как я просто отображал папки на свои контейнеры, которые, оказывается, находятся на ZFS.

Для фиксации этого следующее работало:

  1. sudo systemctl docker.service
  2. редактирования Добавляют следующее содержание:

    After=zfs-mount.service Requires=zfs-mount.service Wants=zfs-mount.service BindsTo=zfs-mount.service

ответ здесь , содержит объяснение того, что делает каждая строка.

0
ответ дан 3 December 2019 в 00:27

Теги

Похожие вопросы