docker
February 6, 2023
Перенос системных файлов Docker в другой каталог
Путь по умолчанию для хранения файлов Docker находится в /var/lib/docker, но можно переместить эти файлы, к примеру, на raid массив. В моем примере это путь /mnt/raid1/docker
Для начала останавливаем сервис и сокет докера
sudo systemctl stop docker.service sudo systemctl stop docker.socket
Создаем файл (если он еще не был создан)
sudo vim /etc/docker/daemon.json
Вносим в него такие изменения:
{
"data-root": "/mnt/raid1/docker"
}Теперь нужно скопировать все файлы из старого каталога в новый, с сохранением прав
sudo rsync -ahv /var/lib/docker/ /mnt/raid1/docker/
Делаем daemon-reload и запускаем docker
sudo systemctl daemon-reload sudo systemctl restart docker
После удачного запуска проверяем фактический путь хранения данных докер на примере volume'ов:
$ docker volume ls
DRIVER VOLUME NAME
local 0000c1c24079fb673a4572d8ddc29700fa14...
local 1ae637e8a588a87e5d57d7293d197ac9eefd...
$ docker volume inspect 0000c1c24079fb673a4572d8ddc29700fa14...
[
{
"CreatedAt": "2023-02-06T17:43:21+03:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/mnt/raid1/docker/volumes/0000c1c24079fb673a4572d8ddc29700fa14.../_data",
"Name": "0000c1c24079fb673a4572d8ddc29700fa14...",
"Options": null,
"Scope": "local"
}
]Как видим Mountpoint изменился, теперь можно удалить или переименовать старую директорию хранения файлов докера
sudo rm -rf /var/lib/docker