Запуск Milvus с помощью Docker Compose (Linux)

На этой странице описано, как запустить экземпляр Milvus в Docker с помощью Docker Compose.

Необходимые условия

Установка Milvus

Milvus предоставляет файл конфигурации Docker Compose в репозитории Milvus. Загрузите конфигурацию для версии v3.0.3 и запустите новое развертывание:

# Download the configuration file
$ wget https://github.com/milvus-io/milvus/releases/download/v3.0.3/milvus-standalone-docker-compose.yaml -O docker-compose.yaml

# Start Milvus
$ sudo docker compose up -d

Creating milvus-etcd  ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done

Развертывание по умолчанию (v3.0.3): docker compose up -d запускает три контейнера длительного выполнения — milvus-etcd (метаданные), milvus-minio (объектное хранилище) и milvus-standalone. В качестве очереди сообщений используется Woodpecker (встроенный, с MinIO / объектным хранилищем в качестве бэкэнда WAL), поэтому отдельный контейнер для очереди сообщений не требуется.

Конфигурация также запускает однократную службу milvus-volume-init для подготовки прав владения каталогом данных. После завершения этой задачи служба завершается.

Очередь сообщений по умолчанию в зависимости от версии:

  • 2.5.x — по умолчанию используется RocksMQ.
  • 2.6.x и более поздние версии — по умолчанию используется встроенная очередь сообщений Woodpecker.

Используйте конфигурацию, прилагаемую к версии, которую вы собираетесь установить. Для существующего развертывания следуйте инструкциям по обновлению вместо замены его конфигурации файлом для новой установки.

  • Если docker compose недоступен, установите плагин Compose, следуя инструкциям для Docker.

  • Если у вас возникнут проблемы с загрузкой образа, свяжитесь с нами по адресу community@zilliz.com, указав подробности проблемы, и мы предоставим вам необходимую поддержку.

После запуска Milvus

  • запустятся контейнеры с именами milvus-standalone, milvus-minio и milvus-etcd.
    • Контейнер milvus-etcd не открывает никаких портов для хоста и сопоставляет свои данные с папкой volumes/etcd в текущем каталоге.
    • Контейнер milvus-minio обслуживает локальные порты 9000 и 9001 с учетными данными аутентификации по умолчанию и сопоставляет свои данные с папкой volumes/minio в текущем каталоге.
    • Контейнер milvus-standalone обслуживает локально порты 19530 с настройками по умолчанию и сопоставляет свои данные с каталогом volumes/milvus в текущей папке.

Вы можете проверить, запущены ли контейнеры, с помощью следующей команды:

$ docker compose ps

NAME                IMAGE   COMMAND                  SERVICE      CREATED         STATUS                   PORTS
milvus-etcd         …       "etcd -advertise-cli…"   etcd         2 minutes ago   Up 2 minutes (healthy)   2379-2380/tcp
milvus-minio        …       "/usr/bin/docker-ent…"   minio        2 minutes ago   Up 2 minutes (healthy)   9000-9001/tcp
milvus-standalone   …       "/tini -- milvus run…"   standalone   2 minutes ago   Up 2 minutes (healthy)   0.0.0.0:9091->9091/tcp, 0.0.0.0:19530->19530/tcp

Вы также можете перейти в веб-интерфейс Milvus по адресу http://127.0.0.1:9091/webui/, чтобы узнать больше о вашем экземпляре Milvus. Подробности см. в разделе «Веб-интерфейс Milvus».

Чтобы опробовать работающий сервер, следуйте инструкциям раздела «Использование существующего сервера Milvus» в руководстве «Быстрый старт» и подключитесь к http://localhost:19530. Не используйте блок локального подключения « .db », который запускает отдельную базу данных Milvus Lite.

(Необязательно) Обновление конфигурации Milvus

Чтобы обновить конфигурацию Milvus в соответствии с вашими потребностями, необходимо изменить файл /milvus/configs/user.yaml в контейнере milvus-standalone.

  1. Получите доступ к контейнеру milvus-standalone.

    docker exec -it milvus-standalone bash
    
  2. Добавьте дополнительные настройки, чтобы переопределить настройки по умолчанию. Ниже предполагается, что вам необходимо переопределить файл proxy.healthCheckTimeout по умолчанию. Информацию о соответствующих элементах конфигурации см. в разделе «Конфигурация системы».

    cat << EOF > /milvus/configs/user.yaml
    # Extra config to override default milvus.yaml
    proxy:
      healthCheckTimeout: 1000 # ms, the interval that to do component healthy check
    EOF
    
  3. Перезапустите контейнер milvus-standalone, чтобы применить изменения.

    docker restart milvus-standalone
    

Остановка и удаление Milvus

Вы можете остановить и удалить этот контейнер следующим образом

# Stop Milvus
$ sudo docker compose down

# Delete service data
$ sudo rm -rf volumes

Обновление существующего развертывания

Для автономного развертывания Milvus 2.6.x следуйте инструкциям в разделе «Обновление автономной версии Milvus с помощью Docker Compose». Сделайте резервную копию метаданных и постоянных данных, сохраните существующие зависимости и конфигурацию, а также проверьте описанный в документации путь обновления от исходной версии к целевой, прежде чем изменять образ Milvus. Не заменяйте файл Compose старого развертывания конфигурацией для новой установки, приведённой выше.

Ограничения, связанные сочередью сообщений: при обновлении до Milvus v3.0.3 необходимо сохранить текущий выбор системы очереди сообщений. Переключение между различными системами очередей сообщений во время обновления не поддерживается. Поддержка смены систем очередей сообщений будет доступна в будущих версиях.

В Milvus 2.6.x и более поздних версиях по умолчанию используется Woodpecker, а в развертываниях версии 2.5.x — RocksMQ. Если развертывание, которое вы обновляете, по-прежнему использует RocksMQ, зафиксируйте его в файле ` user.yaml ` перед изменением образа Milvus, чтобы обновлённый экземпляр сохранил существующую очередь сообщений вместо запуска с новым значением по умолчанию:

# user.yaml — keep RocksMQ across the upgrade
mq:
  type: rocksmq

После того как обновленный экземпляр начнёт работать на версии 3.0.3, вы сможете перейти с RocksMQ на Woodpecker с помощью функции «Switch Message Queue», доступной в Milvus 3.0 и более поздних версиях.

Дополнительные зависимости

В данном развертывании для обмена сообщениями используется Woodpecker (встроенный, бэкэнд MinIO WAL), для метаданных — etcd, а для объектного хранилища — MinIO. Чтобы использовать другую очередь сообщений или подключить внешнее объектное хранилище/метаданные, см.:

Storage V3 по умолчанию отключен. Включите его перед использованием функций, которые от него зависят. Требования и соображения по совместимости см. в разделе Storage V3.

Что дальше

Установив Milvus в Docker, вы можете:

ПереведеноDeepL

Office Hours

Часы работы офиса Милвус

Получите помощь в развертывании производства от Zilliz, экспертов по Milvus.

Забронируйте бесплатную сессию 1:1

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?