Я планирую переместить данные докеров (образы и контейнеры) на отдельный диск, поскольку они требуют много места.
Насколько я знаю, я могу двигаться /var/lib/docker
разделить диск и создать на него софт ссылку. Но я читал, что BTRFS - лучший вариант файловой системы для докеров.
Но я подозреваю, что недостаточно отформатировать внешний диск в BTRFS и переместить в него существующую папку. Как я вижу, содержимое этой папки зависит от используемой файловой системы.
Как правильно переместить (воссоздать) папку докеров (изображения и контейнеры) на внешнем диске с другой файловой системой?
Как вы заявили, простое перемещение или копирование образов / контейнеров докеров со стандартного AUFS на диск, отформатированный в BTRFS, не сработает. Итак, в качестве первого шага вы можете зафиксировать все свои контейнеры как изображения и использовать docker save
команды для сохранения изображений в виде файлов .tar, а затем, когда вы подготовили докер для использования btrfs, вы запускаете docker load
для загрузки изображений в новый драйвер хранилища.
Шаги будут примерно следующими - это то, что я сделал в своем Ubuntu 14.10.
docker save IMAGEID > /tmp/redis.tar
mkfs.btrfs /dev/sdb mkdir /var/lib/docker-btrfs mount /dev/sdb /var/lib/docker-btrfs/
service docker stop docker -d -s btrfs --graph="/var/lib/docker-btrfs" -H unix:///var/run/docker.sock
Вышеупомянутый шаг также можно выполнить, изменив / etc / default / docker.
docker load --input /tmp/redis.tar
Отсюда вы должны увидеть изображения и запустить контейнеры. Для контейнеров вы также можете попробовать export
и import
методы, я никогда не пробовал этот.