Я пытаюсь переместить хранилище изображений докеров.
ОС Linux Mint 18.3
Я пробовал несколько подходов, включая:
файл конфигурации-демона /etc/docker/daemon.json
{ "graph": "/new/dir/docker"}
изменение DOCKER_OPTS
("-g /new/dir/docker"
)
docker.service
файл с опцией вышеЯ также синхронизировал оригинал /var/lib/
место с новым. После перезагрузки демона и попытки запустить службу докеров я обычно получаю это предупреждение:
Предупреждение: docker.service изменен на диске. Запустите systemctl daemon-reload, чтобы перезагрузить юниты. Не удалось выполнить задание docker.service, так как процесс управления завершился с кодом ошибки. См. "Systemctl status docker.service" и "journalctl -xe" для подробностей.
systemctl status docker.service
дает это:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2018-02-02 17:04:31 CET; 7min ago
Docs: https://docs.docker.com
Process: 6941 ExecStart=/usr/bin/dockerd -g /new/dir/docker -H fd:// (code=exited, status=1/FAILURE)
Main PID: 6941 (code=exited, status=1/FAILURE)
Feb 02 17:04:30 systemd[1]: Starting Docker Application Container Engine...
Feb 02 17:04:30 dockerd[6941]: time="2018-02-02T17:04:30.429876920+01:00" level=info msg="libcontainerd: new containerd process, pid:
Feb 02 17:04:31 dockerd[6941]: time="2018-02-02T17:04:31.449062453+01:00" level=error msg="'overlay2' is not supported over <unknown>"
Feb 02 17:04:31 dockerd[6941]: time="2018-02-02T17:04:31.449096454+01:00" level=error msg="[graphdriver] prior storage driver overlay2
Feb 02 17:04:31 dockerd[6941]: Error starting daemon: error initializing graphdriver: backing file system is unsupported for this graph driver
Feb 02 17:04:31 systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Feb 02 17:04:31 systemd[1]: Failed to start Docker Application Container Engine.
Feb 02 17:04:31 systemd[1]: docker.service: Unit entered failed state.
Feb 02 17:04:31 systemd[1]: docker.service: Failed with result 'exit-code'. Warning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Мне кажется, что он пытается использовать драйвер графа, не поддерживаемый файловой системой этого раздела. Это раздел в формате ext4, который находится в исходном месте, но этот раздел зашифрован. Действительно ли шифрование вызывает проблемы с хранилищем докеров? Если это правда, какой драйвер мне следует использовать? Какие минусы у разных драйверов?
-
редактировать
при попытке переключить драйвер на devicemapper после перезапуска в моем новом каталоге появляется каталог devicemapper с метаданными, и он быстро растет до огромных размеров, пока не потребляет весь диск (как только я оставил процесс запущенным, пока он не вырос до 65 ГБ, тогда у меня было чтобы убить его вручную, ctrl + c не сработало)
edit2
кажется, он не может работать с ecryptfs https://github.com/moby/moby/issues/22577#issuecomment-223067996