5 способов изменить путь к каталогу данных Docker (/var/lib/docker)

В этой статье мы рассмотрим различные способы изменения пути к каталогу данных Docker по умолчанию с местоположения по умолчанию «/var/lib/docker» на местоположение по вашему выбору. Изменяя путь к каталогу данных, вы можете контролировать, где Docker хранит свои изображения, контейнеры, тома и другие данные. Мы обсудим пять различных подходов с примерами кода, которые помогут вам настроить Docker в соответствии с вашими требованиями.

Метод 1: использование файла конфигурации демона Docker
Метод 2: использование параметров командной строки демона Docker
Метод 3: перемещение каталога данных и создание символической ссылки
Метод 4: использование Docker Compose
Метод 5: использование раскрывающейся конфигурации Systemd

Метод 1: использование файла конфигурации демона Docker

  1. Откройте файл конфигурации демона Docker (обычно расположенный по адресу /etc/docker/daemon.json) с помощью текстового редактора.
  2. Добавьте следующую конфигурацию, чтобы указать новый путь к каталогу данных:
    {
    "data-root": "/new/data/path"
    }
  3. Сохраните файл и перезапустите демон Docker.

Метод 2. Использование параметров командной строки Docker Daemon

  1. Остановите демон Docker, если он запущен.
  2. Запустите демон Docker с флагом --data-rootи укажите новый путь к каталогу данных:
    sudo dockerd --data-root=/new/data/path

Метод 3: перемещение каталога данных и создание символической ссылки

  1. Остановите демон Docker, если он запущен.
  2. Переместите существующий каталог данных Docker в новое место:
    sudo mv /var/lib/docker /new/data/path
  3. Создайте символическую ссылку из нового местоположения на исходный путь:
    sudo ln -s /new/data/path /var/lib/docker
  4. Запустите демон Docker.

Метод 4. Использование Docker Compose

  1. Создайте новый файл Docker Compose (например, docker-compose.yml) или отредактируйте существующий.
  2. Добавьте следующую конфигурацию в раздел volumes, чтобы указать новый путь к каталогу данных:
    volumes:
    data:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /new/data/path
  3. Сохраните файл и запустите команду Docker Compose, чтобы запустить приложение.

Метод 5: использование раскрывающейся конфигурации Systemd

  1. Создайте новый каталог для конфигурации службы Docker:
    sudo mkdir /etc/systemd/system/docker.service.d
  2. Создайте новый файл конфигурации (например, custom.conf) внутри каталога со следующим содержимым:
    [Service]
    ExecStart=
    ExecStart=/usr/bin/dockerd -g /new/data/path -H fd://
  3. Сохраните файл и перезагрузите конфигурацию systemd:
    sudo systemctl daemon-reload
  4. Перезапустите службу Docker.

В этой статье мы рассмотрели пять различных способов изменения пути к каталогу данных Docker. Независимо от того, предпочитаете ли вы изменить файл конфигурации демона Docker, использовать параметры командной строки, переместить каталог данных с помощью символической ссылки, использовать Docker Compose или использовать раскрывающуюся конфигурацию Systemd, теперь у вас есть несколько вариантов настройки места хранения для Docker. Выберите метод, который лучше всего соответствует вашим потребностям, и возьмите под свой контроль, где Docker хранит свои данные.