Перенос Docker на внешний HDD

Orange PI

splinter

Если используется overlay то необходимо форматнуть жесткий в ext4 иначе не заведется

Находим диск в списке доступных дисков и разделов lsblk или fdisk -l

Форматируем его в ext4 sudo mkfs.ext4 /dev/sdX где sdX - имя устройства

Создаем точку монтирования mkdir /mnt/usb-drive
Монтируем устройство в точку монтирования mount /dev/sdX /mnt/usb-drive
Чтобы диск монтировался автоматически при запуске системы, сюда nano /etc/fstab  нужно добавить /dev/sdX  /mnt/usb-drive  ext4  defaults  0  2

Создаем директорию для переноса Docker mkdir /mnt/usb-drive/docker

Останавливаем Docker systemctl stop docker.socket systemctl stop docker
Копируем содержимое Docker с его стандартного расположения (обычно /var/lib/docker) на внешний диск sudo rsync -aSv /var/lib/docker/ /mnt/usb-drive/docker/
Необходимо указать в конфиге Docker nano /etc/docker/daemon.json каталог где теперь будут храниться данные "data-root": "/mnt/usb-drive/docker" 

{
    "log-driver": "journald",
    "storage-driver": "overlay2",
    "ip6tables": true,
    "experimental": true,
    "log-opts": {
        "tag": "{{.Name}}"
    },
    "data-root": "/mnt/usb-drive/docker"
}

Запускаем Docker systemctl start docker.socket systemctl start docker.service и проверяем что все работает  docker ps -a

Удаляем старый каталог rm -rf /var/lib/docker