Eseguire Milvus in Docker (Windows)

Per impostazione predefinita, questa distribuzione utilizza Woodpecker (filesystem locale) come coda dei messaggi, pertanto non è necessario alcun servizio esterno di coda dei messaggi. Vedi Woodpecker.

Questa pagina illustra come eseguire Milvus su Windows utilizzando Docker Desktop per Windows.

Prerequisiti

Eseguire Milvus in Docker

Milvus fornisce uno script di installazione per installarlo come container Docker. Una volta installato Docker Desktop su Microsoft Windows, è possibile accedere alla CLI di Docker da PowerShell o dal Prompt dei comandi di Windows in modalità amministratore e da WSL 2.

Da PowerShell o dal Prompt dei comandi di Windows

Se si ha maggiore familiarità con PowerShell o il Prompt dei comandi di Windows, il comando da eseguire è il seguente.

  1. Aprire Docker Desktop in modalità amministratore facendo clic con il tasto destro del mouse e selezionando " Esegui come amministratore".

  2. Scaricare lo script di installazione e salvarlo come " standalone.bat".

    C:\>Invoke-WebRequest https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat -OutFile standalone.bat
    
    
  3. Esegui lo script scaricato per avviare Milvus come container Docker.

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

    Dopo aver eseguito lo script di installazione:

    • È stato avviato un container Docker denominato milvus-standalone sulla porta 19530.

    • Insieme a Milvus, nello stesso container è installato un etcd integrato, che opera sulla porta 2379. Il suo file di configurazione è mappato su embedEtcd.yaml nella cartella corrente.

    • Il volume di dati di Milvus è mappato su volumes/milvus nella cartella corrente.

    È possibile utilizzare i seguenti comandi per gestire il container Milvus e i dati memorizzati.

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

Da WSL 2

Se si preferisce avviare Milvus utilizzando comandi Linux e script di shell su Windows, assicurarsi di aver già installato WSL 2. Per i dettagli su come installare WSL 2, è possibile fare riferimento a questo articolo di Microsoft.

  1. Avvia WSL 2.

    C:\>wsl --install
    Ubuntu already installed.
    Starting Ubuntu...
    
    
  2. Scaricare lo script di installazione

    # 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. Avvia Milvus come container 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.
    
    

    È possibile utilizzare i seguenti comandi per gestire il container Milvus e i dati memorizzati.

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

Esegui Milvus con Docker Compose

Una volta installato Docker Desktop su Microsoft Windows, è possibile accedere alla CLI di Docker da PowerShell o dal Prompt dei comandi di Windows in modalità amministratore. È possibile eseguire Docker Compose in PowerShell, nel Prompt dei comandi di Windows o in WSL 2 per avviare Milvus.

Da PowerShell o dal Prompt dei comandi di Windows

  1. Aprire Docker Desktop in modalità amministratore facendo clic con il tasto destro del mouse e selezionando «Esegui come amministratore».

  2. Eseguire i seguenti comandi in PowerShell o nel Prompt dei comandi di Windows per scaricare il file di configurazione di Docker Compose per Milvus Standalone e avviare 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.3/milvus-standalone-docker-compose.yaml -OutFile docker-compose.yml
    
    # Start Milvus
    C:\>docker compose up -d
    Creating milvus-etcd  ... done
    Creating milvus-minio ... done
    Creating milvus-standalone ... done
    
    

    A seconda della connessione di rete, il download delle immagini per l’installazione di Milvus potrebbe richiedere un po’ di tempo. Una volta che i container denominati milvus-standalone, milvus-minio e milvus-etcd sono attivi, è possibile notare che

    • il container milvus-etcd non espone alcuna porta all’host e mappa i propri dati nella cartella volumes/etcd all’interno della cartella corrente.

    • Il container milvus-minio serve localmente le porte 9000 e 9001 con le credenziali di autenticazione predefinite e mappa i propri dati nella cartella volumes/minio nella directory corrente.

    • Il container milvus-standalone espone localmente le porte 19530 con le impostazioni predefinite e mappa i propri dati nella cartella volumes/milvus nella directory corrente.

È inoltre possibile utilizzare la versione Linux dei comandi Docker Compose se è installato WSL 2.

Da WSL 2

La procedura è simile a quella utilizzata con Docker Compose per installare Milvus nei sistemi Linux.

  1. Avviare WSL 2.

    C:\>wsl --install
    Ubuntu already installed.
    Starting Ubuntu...
    
    
  2. Scaricare il file di configurazione di Milvus.

    $ wget https://github.com/milvus-io/milvus/releases/download/v3.0.3/milvus-standalone-docker-compose.yaml -O docker-compose.yml
    
    
  3. Avviare Milvus.

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

Domande frequenti

Come posso risolvere l'errore " Docker Engine stopped "?

Una volta installato Docker Desktop su Windows, è possibile che si verifichi l'errore " Docker Engine stopped " se il computer non è configurato correttamente. In questo caso, potrebbe essere necessario effettuare i seguenti controlli:

  1. Verifica se la virtualizzazione è abilitata.

    Puoi verificare se la virtualizzazione è abilitata controllando la scheda "Prestazioni " in Gestione attività.

    Virtualization in Task Manager Virtualizzazione in Gestione attività

    Se la virtualizzazione è disabilitata, potrebbe essere necessario controllare le impostazioni del BIOS del firmware della scheda madre. La procedura per abilitare la virtualizzazione nelle impostazioni del BIOS varia a seconda del produttore della scheda madre. Per le schede madri ASUS, ad esempio, è possibile fare riferimento a questo articolo sull’abilitazione della virtualizzazione.

    Successivamente, è necessario riavviare il computer e abilitare Hyper-V. Per ulteriori dettagli, consultare questo articolo di Microsoft.

  2. Verificare se il servizio Docker Desktop è stato avviato.

    È possibile eseguire il comando seguente per avviare il servizio 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. Verificare che WSL sia stato installato correttamente.

    È possibile eseguire il comando seguente per installare o aggiornare WSL 2.

    C:\>wsl --update
    Checking for updates.
    The most recent version of Windows Subsystem for Linux is already installed.
    
    
  4. Verificare che il daemon di Docker sia stato avviato.

    Per avviare il daemon di Docker, è necessario accedere alla directory di installazione di Docker Desktop ed eseguire il comando ` .\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. Verificare di aver avviato Docker Desktop in modalità amministratore.

    Assicurarsi di aver avviato Docker Desktop in modalità amministratore. A tal fine, fare clic con il tasto destro del mouse su Docker Desktop e selezionare " Esegui come amministratore".

    Start Docker Desktop as Administrator Avvia Docker Desktop come amministratore

Se si sono verificati problemi relativi a WSL durante l’esecuzione di Milvus da WSL 2, potrebbe essere necessario verificare se Docker Desktop è stato configurato per utilizzare il motore basato su WSL 2 come segue:

  1. Assicurati che l’opzione “Usa il motore basato su WSL 2” sia selezionata in Impostazioni > Generale.

    Use the WSL 2 based engine in Docker Desktop Settings Utilizzare il motore basato su WSL 2 nelle impostazioni di Docker Desktop

  2. Seleziona tra le distribuzioni WSL 2 installate quelle su cui desideri abilitare l’integrazione con Docker andando su: Impostazioni > Risorse > Integrazione WSL.

    Select WSL 2 distributions in Docker Desktop Settings Selezione delle distribuzioni WSL 2 nelle impostazioni di Docker Desktop

Read config failed error prompt in Milvus startup Messaggio di errore “Read config failed” all’avvio di Milvus

Per risolvere l’errore visualizzato all’avvio di Milvus con il messaggio “Read config failed”, è necessario verificare che il volume montato nel container Milvus sia corretto. Se il volume è montato correttamente nel container, è possibile utilizzare il comando docker exec per accedere al container ed elencare il contenuto della cartella /milvus/configs come segue:

List Milvus config files Elencare i file di configurazione di Milvus

Storage V3 è disabilitato per impostazione predefinita. Abilitalo prima di utilizzare le funzionalità che ne dipendono. Per i requisiti e le considerazioni sulla compatibilità, consulta Storage V3.

Prossimi passi

Dopo aver installato Milvus in Docker, è possibile: