Сервер в кармане, или просто о сложном!

главная - Статьи - Linux, FreeBSD



Изменение расположения Docker

Дата обновления: 23.08.2024

По-умолчанию, директория docker в системе /var/lib/docker. Но контейнеры занимают много места и использование стандартной директории может быть неудобным. Кроме того, вы можете захотеть хранить все хозяйство docker вообще на отдельном диске и делать копии всего диска. Вариантов как всегда много. Как изменить стандартное расположение docker в linux?

Docker можно конфигурировать с помощью файла конфигурации "daemon.json". Стандартное "базовое" расположение в /etc/docker. Может быть еще в ~/.config/docker/daemon.json или где-нибудь еще (см. https://docs.docker.com/engine/daemon/).

Файла конфигурации /etc/docker/daemon.json может не быть вообще, тогда его надо создать.

 

1) добавить в файл /etc/docker/daemon.json

{
  "data-root": "/path/to/your/docker"
}

2) остановите docker:

$ sudo systemctl stop docker

3) убедитесь, что docker остановлен:

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

$ systemctl status docker

4) скопируйте файлы из стандартной директории в вашу:

$ sudo rsync -axPS /var/lib/docker/ /path/to/your/docker

Не перенесите, а скопируйте! Если что-то не сработает, спасиьбо скажете себе.

5) запускайте docker:

sudo systemctl start docker

6) проверьте, что ваша опция конфига применена:

$ sudo docker info | grep 'Docker Root Dir'
 Docker Root Dir: /path/to/your/docker

7) проверьте, что контейнеры запущены:

$ sudo docker ps

8) удалите старые файлы:

$ sudo rm -r /var/lib/docker

 

Данная инструкция фактически проверена на Ubuntu, но должна подойти для Debian. И, скорее всего, для других дистрибутивов. Возможно, базовое расположение не в /var/lib/docker/, а где-то еще. Но принцип же ясен.



Авторизуйтесь для добавления комментариев!


    забыли пароль?    новый пользователь?