Docker перенос директории с образами и контейнерами на другой раздел в Centos 7

По умолчанию контейнеры и образы для 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

Понравилась статья? Поделиться с друзьями: