Запуск Milvus в Docker (Windows)

По умолчанию в этом развертывании в качестве очереди сообщений используется Woodpecker (локальная файловая система), поэтому внешний сервис очереди сообщений не требуется. См. раздел «Woodpecker».

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

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

Запуск Milvus в Docker

Milvus предоставляет скрипт установки для развертывания в виде контейнера Docker. После установки Docker Desktop в Microsoft Windows вы можете получить доступ к командной строке Docker из PowerShell или командной строки Windows в режиме администратора, а также из WSL 2.

Из PowerShell или командной строки Windows

Если вы лучше знакомы с PowerShell или командной строкой Windows, выполните следующие действия.

  1. Откройте Docker Desktop в режиме администратора, щелкнув правой кнопкой мыши и выбрав «Запуск от имени администратора».

  2. Загрузите скрипт установки и сохраните его как « standalone.bat ».

    C:\>Invoke-WebRequest https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat -OutFile standalone.bat
    
    
  3. Запустите загруженный скрипт, чтобы запустить Milvus в виде контейнера Docker.

    C:\>standalone.bat start
    Wait for Milvus starting...
    Start successfully.
    To change the default Milvus configuration, edit user.yaml and restart the service.
    
    

    После запуска скрипта установки:

    • Контейнер Docker с именем milvus-standalone запущен на порту 19530.

    • Вместе с Milvus в том же контейнере установлен встроенный etcd, работающий на порту 2379. Его файл конфигурации сопоставлен файлу embedEtcd.yaml в текущей папке.

    • Том данных Milvus сопоставлен папке volumes/milvus в текущей папке.

    Для управления контейнером Milvus и хранящимися данными можно использовать следующие команды.

    # Stop Milvus
    C:\>standalone.bat stop
    Stop successfully.
    
    # Delete Milvus container
    C:\>standalone.bat delete
    Delete Milvus container successfully. # Container has been removed.
    Delete successfully. # Data has been removed.
    
    

Из WSL 2

Если вы предпочитаете запускать Milvus с помощью команд Linux и скриптов оболочки в Windows, убедитесь, что у вас уже установлена среда WSL 2. Подробную информацию об установке WSL 2 можно найти в этой статье Microsoft.

  1. Запустите WSL 2.

    C:\>wsl --install
    Ubuntu already installed.
    Starting Ubuntu...
    
    
  2. Загрузите скрипт установки

    # Download the installation script
    $ curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh
    
    # Start the Docker container
    $ bash standalone_embed.sh start
    
    
  3. Запустите Milvus в качестве контейнера Docker.

    $ bash standalone_embed.sh start
    Wait for Milvus Starting...
    Start successfully.
    To change the default Milvus configuration, add your settings to the user.yaml file and then restart the service.
    
    

    Для управления контейнером Milvus и хранящимися данными можно использовать следующие команды.

    # Stop Milvus
    $ bash standalone_embed.sh stop
    Stop successfully.
    
    # Delete Milvus data
    $ bash standalone_embed.sh delete
    Delete Milvus container successfully.
    Delete successfully.
    
    

Запустите Milvus с помощью Docker Compose

После установки Docker Desktop в Microsoft Windows вы можете получить доступ к командной строке Docker (CLI) из PowerShell или командной строки Windows в режиме администратора. Для запуска Milvus можно использовать Docker Compose в PowerShell, командной строке Windows или WSL 2.

Из PowerShell или командной строки Windows

  1. Откройте Docker Desktop в режиме администратора, щелкнув правой кнопкой мыши и выбрав «Запуск от имени администратора».

  2. Выполните следующие команды в PowerShell или командной строке Windows, чтобы загрузить файл конфигурации Docker Compose для Milvus Standalone и запустить Milvus.

    # Download the configuration file and rename it as docker-compose.yml
    C:\>Invoke-WebRequest https://github.com/milvus-io/milvus/releases/download/v3.0.1/milvus-standalone-docker-compose.yml -OutFile docker-compose.yml
    
    # Start Milvus
    C:\>docker compose up -d
    Creating milvus-etcd  ... done
    Creating milvus-minio ... done
    Creating milvus-standalone ... done
    
    

    В зависимости от вашего сетевого подключения загрузка образов для установки Milvus может занять некоторое время. Как только контейнеры с именами milvus-standalone, milvus-minio и milvus-etcd будут запущены, вы увидите, что

    • контейнер milvus-etcd не открывает никаких портов для хоста и сопоставляет свои данные с папкой volumes/etcd в текущем каталоге.

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

    • Контейнер milvus-standalone обслуживает локальные порты 19530 с настройками по умолчанию и сопоставляет свои данные с каталогом volumes/milvus в текущей папке.

Вы также можете использовать Linux-версию команд Docker Compose, если у вас установлен WSL 2.

Из WSL 2

Процедура аналогична использованию Docker Compose для установки Milvus в системах Linux.

  1. Запустите WSL 2.

    C:\>wsl --install
    Ubuntu already installed.
    Starting Ubuntu...
    
    
  2. Загрузите файл конфигурации Milvus.

    $ wget https://github.com/milvus-io/milvus/releases/download/v3.0.1/milvus-standalone-docker-compose.yml -O docker-compose.yml
    
    
  3. Запустите Milvus.

    $ sudo docker compose up -d
    
    Creating milvus-etcd  ... done
    Creating milvus-minio ... done
    Creating milvus-standalone ... done
    
    

Часто задаваемые вопросы

Как устранить ошибку « Docker Engine stopped »?

После установки Docker Desktop в Windows может возникнуть ошибка « Docker Engine stopped », если ваш компьютер настроен неправильно. В этом случае необходимо выполнить следующие проверки:

  1. Проверьте, включена ли виртуализация.

    Проверить, включена ли виртуализация, можно на вкладке «Производительность» в диспетчере задач.

    Virtualization in Task Manager Виртуализация в «Диспетчере задач»

    Если виртуализация отключена, возможно, вам потребуется проверить настройки BIOS прошивки материнской платы. Способ включения виртуализации в настройках BIOS зависит от производителя материнской платы. Например, для материнских плат ASUS вы можете ознакомиться с этой статьёй о включении виртуализации.

    Затем необходимо перезагрузить компьютер и включить Hyper-V. Подробности см. в этой статье Microsoft.

  2. Проверьте, запущена ли служба Docker Desktop.

    Для запуска службы Docker Desktop можно выполнить следующую команду.

    C:\>net start com.docker.service
    The Docker for Windows Service service is starting.
    The Docker for Windows Service service was started successfully.
    
    
  3. Проверьте, правильно ли установлен WSL.

    Для установки или обновления WSL 2 выполните следующую команду.

    C:\>wsl --update
    Checking for updates.
    The most recent version of Windows Subsystem for Linux is already installed.
    
    
  4. Убедитесь, что демон Docker запущен.

    Для запуска демона Docker необходимо перейти в каталог установки Docker Desktop и выполнить команду « .\DockerCli.exe -SwitchDaemon ».

    C:\>cd "C:\Program Files\Docker\Docker"
    C:\Program Files\Docker\Docker>.\DockerCli.exe -SwitchDaemon
    Switching to windows engine: Post "http://ipc/engine/switch": open \\.\pipe\dockerBackendApiServer: The system cannot find the file specified.
    
    
  5. Убедитесь, что вы запустили Docker Desktop в режиме администратора.

    Убедитесь, что Docker Desktop запущен в режиме администратора. Для этого щелкните правой кнопкой мыши по Docker Desktop и выберите «Запуск от имени администратора».

    Start Docker Desktop as Administrator Запустите Docker Desktop от имени администратора

Если при запуске Milvus из WSL 2 у вас возникли проблемы, связанные с WSL, возможно, вам нужно проверить, настроен ли Docker Desktop на использование движка на основе WSL 2, следующим образом:

  1. Убедитесь, что в разделе «Настройки» > «Общие» установлен флажок «Использовать движок на основе WSL 2».

    Use the WSL 2 based engine in Docker Desktop Settings Использование движка на основе WSL 2 в настройках Docker Desktop

  2. Выберите из установленных дистрибутивов WSL 2 те, для которых вы хотите включить интеграцию с Docker, перейдя в: «Настройки» > «Ресурсы» > «Интеграция с WSL».

    Select WSL 2 distributions in Docker Desktop Settings Выбор дистрибутивов WSL 2 в настройках Docker Desktop

Read config failed error prompt in Milvus startup Сообщение об ошибке «Read config failed» при запуске Milvus

Чтобы устранить ошибку «Read config failed», возникающую при запуске Milvus, необходимо проверить, правильно ли смонтирован том в контейнере Milvus. Если том смонтирован в контейнере правильно, вы можете использовать команду ` docker exec `, чтобы войти в контейнер и отобразить содержимое папки `/milvus/configs ` следующим образом:

List Milvus config files Просмотр списка файлов конфигурации Milvus

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

Дальнейшие действия

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