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