По умолчанию контейнеры и образы для docker лежат в /var/lib/docker. Если необходимо изменить расположение, то необходимо сделать следующие манипуляции. Данный перенос актуален для версии 1.12.6 Docker’а и Centos 7.
Для начала проверим где расположена директория для образов и контейнеров:
docker info |grep "Root Dir"
У меня это /var/lib/docker. Остановим службу docker:
sudo systemctl stop docker
Скопируем директорию в новое расположение. Например в /mnt/docker
cp -rp /var/lib/docker /mnt/docker
Дождемся окончания копирования. Далее необходимо прописать этот путь в файле /etc/docker/daemon.json:
{
"graph": "/mnt/docker",
"storage-driver": "devicemapper"
}
Перезапустим службы:
sudo systemctl daemon-reload
sudo systemctl start docker
Проверяем, что директория действительно изменилась:
docker info |grep "Root Dir"
Проверим, что контейнеры на месте:
docker ps -a
Проверим запустится ли hello world и другие контейнеры:
docker run hello-world
После этого можно удалить директорию из которой переносили контейнеры:
sudo rm -rf /var/lib/docker