Запуск Milvus с помощью Docker Compose (Linux)
На этой странице описано, как запустить экземпляр Milvus в Docker с помощью Docker Compose.
Необходимые условия
- Установите Docker.
- Установите плагин Docker Compose (версии 2 или более поздней) и проверьте его работу с помощью команды `
docker compose version`. В данной инструкции используется команда `docker compose`, а не устаревшая команда версии 1 `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.
Получите доступ к контейнеру
milvus-standalone.docker exec -it milvus-standalone bashДобавьте дополнительные настройки, чтобы переопределить настройки по умолчанию. Ниже предполагается, что вам необходимо переопределить файл
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Перезапустите контейнер
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. Чтобы использовать другую очередь сообщений или подключить внешнее объектное хранилище/метаданные, см.:
- Очередь сообщений: Woodpecker (по умолчанию) · Pulsar · Kafka · RocksMQ
- Объектное хранилище: MinIO (по умолчанию) · AWS S3 · Azure Blob · GCP Cloud Storage · Aliyun OSS · Tencent COS · Huawei OBS · S3-совместимые
- Метаданные: etcd
Storage V3 по умолчанию отключен. Включите его перед использованием функций, которые от него зависят. Требования и соображения по совместимости см. в разделе Storage V3.
Что дальше
Установив Milvus в Docker, вы можете:
Ознакомьтесь с разделом «Быстрый старт», чтобы узнать, на что способен Milvus.
Ознакомиться с основными операциями Milvus:
Обновление автономной версии Milvus с помощью Docker Compose.
Разверните кластер Milvus в облаке:
Ознакомьтесь с Milvus WebUI — интуитивно понятным веб-интерфейсом для мониторинга и управления Milvus.
Ознакомьтесь с Milvus Backup — инструментом с открытым исходным кодом для резервного копирования данных Milvus.
Ознакомьтесь с Birdwatcher — инструментом с открытым исходным кодом для отладки Milvus и динамического обновления конфигурации.
Познакомьтесь с Attu — инструментом с графическим интерфейсом с открытым исходным кодом для интуитивного управления Milvus.