Изменить корневую папку данных Docker (snap)

Я пытаюсь изменить папку данных по умолчанию для изображений докеров, контейнеров и т. Д. На другой путь. В моментальной установке докера такая папка находится по адресу /var/snap/docker/common/var-lib-docker. Теоретически я мог бы изменить это с помощью опции data-root в deamon.json. Но если я изменю daemon.json добавление "data-root": "/home/user/docker", докер не запустится из-за конфликта с флагами (который всегда имеет ранее описанный путь по умолчанию).

Я могу запустить докер по своему собственному пути, если остановлю его, а затем запустил вот так: sudo snap start docker.dockerd --data-root=/home/user/docker. Что некрасиво, но работает. Есть ли способ изменить флаги привязки докеров при запуске или сделать так, чтобы он предпочитал параметры daemon.json?

Я прочитал этот заархивированный пост, в котором рассматривается такая проблема на докере. версия 17, но это не помогло так же, как некоторые другие материалы, которые я нашел в Интернете. Мне кажется, что символическая ссылка может быть ...

Я использую докер 19.03.11, оснастка установлена ​​на Ubuntu 20.04.

P.s .: Новый путь находится на втором жестком диске, смонтированном как мой домашний каталог. Изменение пути сэкономит место на моем системном SSD.

Спасибо за внимание.


person Rodrigo    schedule 27.09.2020    source источник
comment
Попробуйте переместить данные и создать символическую ссылку. Если нет, то вы можете изучить /etc/docker/daemon.json, где вы можете установить новое местоположение.   -  person Amit kumar    schedule 27.09.2020


Ответы (1)


Из https://github.com/docker-snap/docker-snap/issues/3 и https://askubuntu.com/questions/550348/how-to-make-mount-bind-permanent, неидеальным, но работающим решением кажется привязка монтирования между / var / snap / docker / common / var-lib-docker и / home / geoffroy / docker, который является предыдущим корневым каталогом данных докера, который у меня был до установки докера с помощью оснастки.

Итак, сначала удалите параметр root-данных в daemon.json.

Затем добавьте следующее в конец / etc / fstab с помощью следующей команды:

echo '/home/user/docker /var/snap/docker/common/var-lib-docker none bind' >> /etc/fstab

После перезагрузки корень данных вашего докера будет сохранен в папке / home / user / docker.

person blondelg    schedule 05.04.2021