Перейти к содержимому
Главная страница » Как изменить каталог данных Docker по умолчанию

Как изменить каталог данных Docker по умолчанию

По умолчанию Docker хранит большую часть своих данных в каталоге /var/lib/docker в системах Linux. Может наступить момент, когда вы захотите переместить это хранилище в другое место. Например, самая очевидная причина может заключаться в том, что у вас заканчивается место на диске.

В этом руководстве мы покажем вам, как изменить каталог хранения данных Docker на другое место в вашей системе Linux. Большая часть настроек, которые необходимо выполнить, связана с systemd, а затем с перемещением каталога в новое место. Для начала следуйте пошаговым инструкциям ниже.

Мы разберемся:

Как изменить настройки systemd для работы с новым расположением Docker
Как перенести установку Docker в новое место
КатегорияТребования, Соглашения или используемая версия программного обеспечения
СистемаЛюбой дистрибутив Linux с systemd
Программное обеспечениеDocker
ДругоеПривилегированный доступ к вашей системе Linux от имени пользователя root или с помощью команды sudo.
Условности# — требует, чтобы заданные команды Linux выполнялись с правами суперпользователя либо напрямую от имени пользователя root, либо с помощью команды sudo
$ — требует, чтобы заданные команды Linux выполнялись обычным пользователем без привилегий

Обязательно выполняйте эти действия в указанном порядке, иначе вы можете столкнуться со странными ошибками, устранение которых потребует некоторых усилий. Эти инструкции были выполнены в системе Ubuntu, но должны работать в любом другом дистрибутиве Linux, если он использует systemd.

Первое, что мы хотим сделать, — это остановить работу Docker. Внесение этих изменений во время работы Docker наверняка приведёт к ошибкам. Чтобы остановить Docker, используйте следующую команду

$ sudo systemctl stop docker.service
$ sudo systemctl stop docker.socket

Далее нам нужно отредактировать файл /lib/systemd/system/docker.service . Это файл systemd, связанный с Docker, и нам нужно указать новое местоположение в этом файле. Откройте его с помощью nano или другого текстового редактора.

sudo nano /lib/systemd/system/docker.service

Строка, которую нам нужно отредактировать, выглядит следующим образом:

ExecStart=/usr/bin/dockerd -H fd://

Измените строку, добавив -g и указав новое желаемое расположение каталога Docker. Когда вы закончите вносить изменения, вы можете сохранить файл и выйти из него.

ExecStart=/usr/bin/dockerd -g /new/path/docker -H fd://

Если вы ещё этого не сделали, создайте новый каталог, в который вы планируете переместить файлы Docker.

sudo mkdir -p /new/path/docker

После этого вы можете скопировать содержимое из /var/lib/docker в новый каталог. Для этого можно использовать следующую команду rsync.

sudo rsync -aqxP /var/lib/docker/ /new/path/docker

Затем перезагрузите конфигурацию systemd для Docker, так как мы внесли изменения ранее. После этого мы можем запустить Docker.

sudo systemctl daemon-reload
sudo systemctl start docker

Чтобы убедиться, что всё работает, выполните 
команду ps, чтобы убедиться, что служба Docker использует новый каталог.

ps aux | grep -i docker | grep -v grep

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *