Ejecutar Milvus en Docker (Windows)

De forma predeterminada, esta implementación utiliza Woodpecker (sistema de archivos local) como cola de mensajes, por lo que no se necesita ningún servicio externo de colas de mensajes. Consulta Woodpecker.

En esta página se explica cómo ejecutar Milvus en Windows utilizando Docker Desktop para Windows.

Requisitos previos

Ejecutar Milvus en Docker

Milvus proporciona un script de instalación para instalarlo como contenedor de Docker. Una vez que hayas instalado Docker Desktop en Microsoft Windows, podrás acceder a la CLI de Docker desde PowerShell o el símbolo del sistema de Windows en modo administrador y desde WSL 2.

Desde PowerShell o el símbolo del sistema de Windows

Si estás más familiarizado con PowerShell o el símbolo del sistema de Windows, el comando es el siguiente.

  1. Abre Docker Desktop en modo administrador haciendo clic con el botón derecho del ratón y seleccionando «Ejecutar como administrador».

  2. Descarga el script de instalación y guárdalo como « standalone.bat ».

    C:\>Invoke-WebRequest https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat -OutFile standalone.bat
    
    
  3. Ejecuta el script descargado para iniciar Milvus como un contenedor de Docker.

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

    Tras ejecutar el script de instalación:

    • Se ha iniciado un contenedor de Docker llamado «milvus-standalone» en el puerto 19530.

    • Se ha instalado un etcd integrado junto con Milvus en el mismo contenedor y está disponible en el puerto 2379. Su archivo de configuración está asignado a embedEtcd.yaml en la carpeta actual.

    • El volumen de datos de Milvus está asignado a volumes/milvus en la carpeta actual.

    Puede utilizar los siguientes comandos para gestionar el contenedor de Milvus y los datos almacenados.

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

Desde WSL 2

Si prefieres iniciar Milvus utilizando comandos de Linux y scripts de shell en Windows, asegúrate de que ya tienes instalado WSL 2. Para obtener más información sobre cómo instalar WSL 2, puedes consultar este artículo de Microsoft.

  1. Inicia WSL 2.

    C:\>wsl --install
    Ubuntu already installed.
    Starting Ubuntu...
    
    
  2. Descarga el script de instalación

    # 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 Milvus como un contenedor de 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.
    
    

    Puedes utilizar los siguientes comandos para gestionar el contenedor de Milvus y los datos almacenados.

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

Ejecuta Milvus con Docker Compose

Una vez que haya instalado Docker Desktop en Microsoft Windows, podrá acceder a la CLI de Docker desde PowerShell o el símbolo del sistema de Windows en modo administrador. Puede ejecutar Docker Compose en PowerShell, en el símbolo del sistema de Windows o en WSL 2 para iniciar Milvus.

Desde PowerShell o el símbolo del sistema de Windows

  1. Abre Docker Desktop en modo administrador haciendo clic con el botón derecho del ratón y seleccionando «Ejecutar como administrador».

  2. Ejecuta los siguientes comandos en PowerShell o en el símbolo del sistema de Windows para descargar el archivo de configuración de Docker Compose para Milvus Standalone e iniciar 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
    
    

    Dependiendo de tu conexión de red, la descarga de las imágenes para la instalación de Milvus puede tardar un rato. Una vez que los contenedores denominados milvus-standalone, milvus-minio y milvus-etcd estén en marcha, podrás comprobar que

    • El contenedor milvus-etcd no expone ningún puerto al host y asigna sus datos a volumes/etcd en la carpeta actual.

    • El contenedor milvus-minio atiende los puertos 9000 y 9001 localmente con las credenciales de autenticación predeterminadas y asigna sus datos a la carpeta volumes/minio de la carpeta actual.

    • El contenedor milvus-standalone sirve los puertos 19530 localmente con la configuración predeterminada y asigna sus datos a volumes/milvus en la carpeta actual.

También puedes ejecutar la versión para Linux de los comandos de Docker Compose si tienes instalado WSL 2.

Desde WSL 2

El procedimiento es similar al de utilizar Docker Compose para instalar Milvus en sistemas Linux.

  1. Inicia WSL 2.

    C:\>wsl --install
    Ubuntu already installed.
    Starting Ubuntu...
    
    
  2. Descarga el archivo de configuración de Milvus.

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

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

Preguntas frecuentes

¿Cómo puedo solucionar el error « Docker Engine stopped »?

Una vez instalado Docker Desktop en Windows, es posible que aparezca el error « Docker Engine stopped » si tu ordenador no está configurado correctamente. En ese caso, es posible que tengas que comprobar lo siguiente:

  1. Comprueba si la virtualización está habilitada.

    Puedes comprobar si la virtualización está habilitada consultando la pestaña «Rendimiento» del Administrador de tareas.

    Virtualization in Task Manager Virtualización en el Gestor de tareas

    Si la virtualización está desactivada, es posible que tengas que comprobar la configuración de la BIOS del firmware de tu placa base. La forma de habilitar la virtualización en la configuración de la BIOS varía según el fabricante de la placa base. En el caso de las placas base ASUS, por ejemplo, puedes consultar este artículo sobre cómo habilitar la virtualización.

    A continuación, deberá reiniciar el ordenador y habilitar Hyper-V. Para obtener más detalles, consulte este artículo de Microsoft.

  2. Comprueba si se ha iniciado el servicio Docker Desktop.

    Puede ejecutar el siguiente comando para iniciar el servicio 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. Comprueba si WSL se ha instalado correctamente.

    Puede ejecutar el siguiente comando para instalar o actualizar WSL 2.

    C:\>wsl --update
    Checking for updates.
    The most recent version of Windows Subsystem for Linux is already installed.
    
    
  4. Comprueba si se ha iniciado el daemon de Docker.

    Debes ir al directorio de instalación de Docker Desktop y ejecutar « .\DockerCli.exe -SwitchDaemon » para iniciar el demonio de Docker.

    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. Comprueba si has iniciado Docker Desktop en modo administrador.

    Asegúrate de haber iniciado Docker Desktop en modo administrador. Para ello, haz clic con el botón derecho del ratón en Docker Desktop y selecciona «Ejecutar como administrador».

    Start Docker Desktop as Administrator Iniciar Docker Desktop como administrador

Si ha encontrado problemas relacionados con WSL al ejecutar Milvus desde WSL 2, es posible que tenga que comprobar si ha configurado Docker Desktop para utilizar el motor basado en WSL 2 de la siguiente manera:

  1. Asegúrate de que la opción «Utilizar el motor basado en WSL 2» esté marcada en Configuración > General.

    Use the WSL 2 based engine in Docker Desktop Settings Utilizar el motor basado en WSL 2 en la configuración de Docker Desktop

  2. Selecciona, entre las distribuciones de WSL 2 que tengas instaladas, aquellas en las que quieras habilitar la integración con Docker yendo a: Configuración > Recursos > Integración con WSL.

    Select WSL 2 distributions in Docker Desktop Settings Seleccionar distribuciones de WSL 2 en la configuración de Docker Desktop

Read config failed error prompt in Milvus startup Mensaje de error «Read config failed» al iniciar Milvus

Para solucionar el error que aparece al iniciar Milvus y que dice «Read config failed», debes comprobar si el volumen montado en el contenedor de Milvus es el correcto. Si el volumen está correctamente montado en el contenedor, puedes utilizar el comando docker exec para acceder al contenedor y listar el contenido de la carpeta /milvus/configs de la siguiente manera:

List Milvus config files Listar los archivos de configuración de Milvus

Storage V3 está desactivado de forma predeterminada. Actívalo antes de utilizar funciones que dependan de él. Para conocer los requisitos y las consideraciones de compatibilidad, consulta Storage V3.

Próximos pasos

Una vez instalado Milvus en Docker, puedes: