Перенос Docker на внешний HDD
Если используется 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