Как я могу изменить каталог данных Docker, где docker сохраняет контейнер (или где lxc сохраняет контейнер)? На моем сервере есть ssd и жесткий диск, и я хочу, чтобы контейнер был сохранен на жестком диске. Спасибо
Я считаю, что в этом руководстве у вас будет хорошее объяснение.
Вы можете изменить базовый каталог хранилища Docker (куда направляются контейнер и изображения), используя опцию -g при запуске демона Docker.
Ubuntu / Debian: отредактируйте ваш
/etc/default/docker
файл с-g
опцией:DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
Fedora / Centos: отредактируйте
/etc/sysconfig/docker
и добавьте-g
опцию в переменную other_args: ex.other_args="-g /var/lib/testdir"
, Если есть несколько вариантов, убедитесь, что вы заключили их в "". После перезапуска (перезапуск службы Docker) Docker должен использовать новый каталог.Использование символической ссылки - это еще один способ изменить хранилище изображений.
Внимание. Эти шаги зависят от того, является ли текущий каталог / var / lib / docker действительным каталогом (а не символической ссылкой на другое местоположение).
1) Стоп докер
service docker stop
. Убедитесь, что процесс docker не запущен ps faux2) Докер двойной проверки действительно не работает. Взгляните на текущий каталог докеров: ls
/var/lib/docker/
2б) Сделать резервную копию -
tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz
3) Переместите
/var/lib/docker
каталог в новый раздел:mv /var/lib/docker /mnt/pd0/docker
4) Сделать символическую ссылку:
ln -s /mnt/pd0/docker /var/lib/docker
5) Взгляните на структуру каталогов, чтобы убедиться, что она выглядит так же, как и до mv:
ls /var/lib/docker/
(обратите внимание на косую черту в6) Запустите докер обратно
service docker start
7) перезапустите ваши контейнеры, разрешите символическую ссылку)
В более поздних версиях Docker в Ubuntu вы будете редактировать /etc/default/daemon.json следующим образом:
источник
Для изменения
data
каталога вdocker
нем необходимо запустить опцию-g /my/data
. По моему/etc/default/docker
я установил:DOCKER_OPTS="-g /srv/docker"
Смотрите также мои заметки здесь .
Чтобы изменить
data
каталог,lxc
я вставил/etc/lxc/lxc.conf
:lxc.lxcpath = /srv/lxc
источник
Обновление до Docker 1.13.0.
Из примечаний к выпуску:
источник
Чтобы расширить ответ @ MattK:
Документация Docker по управлению демоном Docker предполагает, что независимый от платформы способ сделать это:
отредактируйте файл /etc/docker/daemon.json, чтобы он содержал строку
где
/mnt/docker-data
находится каталог, в котором вы хотите разместить образы и контейнеры докера.затем
Вы можете проверить, работает ли это, запустив
и ищите содержимое строки, начинающейся с
Docker Root Dir:
.См. Также https://stackoverflow.com/a/50217666/2209313 и https://unix.stackexchange.com/q/452368/36043 .
источник