Docker — перенос данных на другой диск
В примере новое назначение файлов - /mnt/docker-data/docker
Останавливаем Docker
sudo systemctl stop docker.service
sudo systemctl stop docker.socket
Копируем существующие контейнеры, образы
sudo cp -R /var/lib/docker /mnt/docker-data/docker
Добавляем новую директорию в конфиг (опционально)
sudo nano /etc/docker/daemon.json
Добавляем -g /mnt/docker-data/docker к параметру ExecStart в конфиге
В новых версиях параметр -g заменен на --data-root
sudo nano /lib/systemd/system/docker.service
Было
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Стало
В новых версиях параметр -g заменен на --data-root
ExecStart=/usr/bin/dockerd -g /mnt/docker-data/docker -H fd:// --containerd=/run/containerd/containerd.sock
Запускаем docker
sudo systemctl daemon-reload
sudo systemctl start docker.service
sudo systemctl start docker.socket
Проверяем, что docker использует новое расположение
ps aux | grep -i docker | grep -v grep
В новых версиях параметр -g заменен на --data-root

После того как убедились, что всё работает, можно удалять старую папку
sudo rm -rf /var/lib/docker