Executar o Milvus no Docker (Windows)

Por predefinição, esta implementação executa o Woodpecker (sistema de ficheiros local) como fila de mensagens, pelo que não é necessário qualquer serviço externo de fila de mensagens. Consulte Woodpecker.

Esta página demonstra como executar o Milvus no Windows utilizando o Docker Desktop para Windows.

Pré-requisitos

Executar o Milvus no Docker

O Milvus fornece um script de instalação para o instalar como um contentor Docker. Depois de instalar o Docker Desktop no Microsoft Windows, pode aceder à CLI do Docker a partir do PowerShell ou do Prompt de Comando do Windows em modo de administrador e a partir do WSL 2.

A partir do PowerShell ou do Prompt de Comando do Windows

Se estiver mais familiarizado com o PowerShell ou o Prompt de Comando do Windows, o comando a utilizar é o seguinte.

  1. Abra o Docker Desktop no modo de administrador, clicando com o botão direito do rato e selecionando «Executar como administrador».

  2. Descarregue o script de instalação e guarde-o como « standalone.bat ».

    C:\>Invoke-WebRequest https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat -OutFile standalone.bat
    
    
  3. Execute o script descarregado para iniciar o Milvus como um contentor Docker.

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

    Após executar o script de instalação:

    • Foi iniciado um contentor Docker denominado milvus-standalone na porta 19530.

    • Um etcd incorporado está instalado juntamente com o Milvus no mesmo contentor e está disponível na porta 2379. O seu ficheiro de configuração está mapeado para embedEtcd.yaml na pasta atual.

    • O volume de dados do Milvus está mapeado para volumes/milvus na pasta atual.

    Pode utilizar os seguintes comandos para gerir o contentor do Milvus e os dados armazenados.

    # 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.
    
    

A partir do WSL 2

Se preferir iniciar o Milvus utilizando comandos Linux e scripts de shell no Windows, certifique-se de que já tem o WSL 2 instalado. Para obter detalhes sobre como instalar o WSL 2, pode consultar este artigo da Microsoft.

  1. Inicie o WSL 2.

    C:\>wsl --install
    Ubuntu already installed.
    Starting Ubuntu...
    
    
  2. Descarregue o script de instalação

    # 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. Inicie o Milvus como um contentor 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.
    
    

    Pode utilizar os seguintes comandos para gerir o contentor do Milvus e os dados armazenados.

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

Execute o Milvus com o Docker Compose

Depois de instalar o Docker Desktop no Microsoft Windows, pode aceder à CLI do Docker a partir do PowerShell ou do Prompt de Comando do Windows no modo de administrador. Pode executar o Docker Compose no PowerShell, no Prompt de Comando do Windows ou no WSL 2 para iniciar o Milvus.

A partir do PowerShell ou do Prompt de Comando do Windows

  1. Abra o Docker Desktop no modo de administrador, clicando com o botão direito do rato e selecionando «Executar como administrador».

  2. Execute os seguintes comandos no PowerShell ou no Prompt de Comando do Windows para descarregar o ficheiro de configuração do Docker Compose para o Milvus Standalone e iniciar o 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.2/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
    
    

    Dependendo da sua ligação de rede, o download das imagens para a instalação do Milvus pode demorar algum tempo. Assim que os contentores denominados milvus-standalone, milvus-minio e milvus-etcd estiverem ativos, poderá verificar que

    • O contentor milvus-etcd não expõe quaisquer portas ao anfitrião e mapeia os seus dados para volumes/etcd na pasta atual.

    • O contentor milvus-minio disponibiliza as portas 9000 e 9001 localmente com as credenciais de autenticação predefinidas e mapeia os seus dados para volumes/minio na pasta atual.

    • O contentor milvus-standalone serve as portas 19530 localmente com as configurações predefinidas e mapeia os seus dados para volumes/milvus na pasta atual.

Também pode utilizar a versão Linux dos comandos do Docker Compose se tiver o WSL 2 instalado.

A partir do WSL 2

O procedimento é semelhante ao da utilização do Docker Compose para instalar o Milvus em sistemas Linux.

  1. Inicie o WSL 2.

    C:\>wsl --install
    Ubuntu already installed.
    Starting Ubuntu...
    
    
  2. Descarregue o ficheiro de configuração do Milvus.

    $ wget https://github.com/milvus-io/milvus/releases/download/v3.0.2/milvus-standalone-docker-compose.yml -O docker-compose.yml
    
    
  3. Inicie o Milvus.

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

Perguntas frequentes

Como posso resolver o erro « Docker Engine stopped »?

Depois de instalar o Docker Desktop no Windows, poderá encontrar o erro « Docker Engine stopped » se o seu computador não estiver configurado corretamente. Neste caso, poderá ser necessário efetuar as seguintes verificações:

  1. Verifique se a virtualização está ativada.

    Pode verificar se a virtualização está ativada consultando o separador «Desempenho» no Gestor de Tarefas.

    Virtualization in Task Manager Virtualização no Gestor de Tarefas

    Se a virtualização estiver desativada, poderá ser necessário verificar as definições da BIOS do firmware da sua placa-mãe. A forma de ativar a virtualização nas definições da BIOS varia consoante os fabricantes das placas-mãe. No caso das placas-mãe ASUS, por exemplo, pode consultar este artigo sobre como ativar a virtualização.

    Em seguida, terá de reiniciar o computador e ativar o Hyper-V. Para mais detalhes, consulte este artigo da Microsoft.

  2. Verifique se o Serviço do Docker Desktop foi iniciado.

    Pode executar o seguinte comando para iniciar o Serviço 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. Verifique se o WSL foi instalado corretamente.

    Pode executar o comando seguinte para instalar ou atualizar o WSL 2.

    C:\>wsl --update
    Checking for updates.
    The most recent version of Windows Subsystem for Linux is already installed.
    
    
  4. Verifique se o Docker Daemon foi iniciado.

    Tem de aceder ao diretório de instalação do Docker Desktop e executar « .\DockerCli.exe -SwitchDaemon » para iniciar o Docker Daemon.

    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. Verifique se iniciou o Docker Desktop no modo de administrador.

    Certifique-se de que iniciou o Docker Desktop no modo de administrador. Para tal, clique com o botão direito do rato no ícone do Docker Desktop e selecione «Executar como administrador».

    Start Docker Desktop as Administrator Inicie o Docker Desktop como administrador

Se tiver encontrado problemas relacionados com o WSL ao executar o Milvus a partir do WSL 2, poderá ser necessário verificar se configurou o Docker Desktop para utilizar o motor baseado no WSL 2, da seguinte forma:

  1. Certifique-se de que a opção «Utilizar o motor baseado no WSL 2» está marcada em «Definições» > «Geral».

    Use the WSL 2 based engine in Docker Desktop Settings Utilizar o motor baseado no WSL 2 nas definições do Docker Desktop

  2. Selecione, entre as distribuições WSL 2 instaladas, aquelas nas quais pretende ativar a integração com o Docker, acedendo a: Definições > Recursos > Integração WSL.

    Select WSL 2 distributions in Docker Desktop Settings Selecionar distribuições WSL 2 nas definições do Docker Desktop

Read config failed error prompt in Milvus startup Mensagem de erro «Falha na leitura da configuração» na inicialização do Milvus

Para resolver o erro apresentado durante o arranque do Milvus com a mensagem «Falha ao ler a configuração», é necessário verificar se o volume montado no contentor do Milvus está correto. Se o volume estiver corretamente montado no contentor, pode utilizar o comando docker exec para aceder ao contentor e listar a pasta /milvus/configs da seguinte forma:

List Milvus config files Listar ficheiros de configuração do Milvus

O Storage V3 está desativado por predefinição. Ative-o antes de utilizar funcionalidades que dependam dele. Para conhecer os requisitos e as considerações de compatibilidade, consulte Storage V3.

Próximos passos

Depois de instalar o Milvus no Docker, pode: