Ejecutar Milvus con Docker Compose (Linux)

En esta página se explica cómo iniciar una instancia de Milvus en Docker utilizando Docker Compose.

Requisitos previos

Instalar Milvus

Milvus proporciona un archivo de configuración de Docker Compose en el repositorio de Milvus. Descarga la configuración para la versión 3.0.5 e inicia una nueva implementación:

# Download the configuration file
$ wget https://github.com/milvus-io/milvus/releases/download/v3.0.5/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

Despliegue predeterminado (v3.0.5): docker compose up -d inicia tres contenedores de ejecución prolongada: milvus-etcd (metadatos), milvus-minio (almacenamiento de objetos) y milvus-standalone. La cola de mensajes es Woodpecker (integrada, con MinIO / almacenamiento de objetos como backend WAL), por lo que no se requiere un contenedor de cola de mensajes independiente.

La configuración también ejecuta el servicio de un solo uso milvus-volume-init para preparar la propiedad del directorio de datos. Se cierra tras completar esa tarea.

Cola de mensajes predeterminada según la versión:

  • 2.5.x: la cola de mensajes predeterminada es RocksMQ.
  • 2.6.x y posteriores: la cola de mensajes predeterminada es Woodpecker (integrada).

Utiliza la configuración adjunta a la versión que pretendas instalar. Para una implementación existente, sigue las instrucciones de actualización en lugar de sustituir su configuración por un archivo de nueva instalación.

  • Si « docker compose » no está disponible, instala el complemento Compose siguiendo las instrucciones de Docker.

  • Si tiene algún problema al descargar la imagen, póngase en contacto con nosotros en community@zilliz.com con los detalles del problema y le proporcionaremos la asistencia necesaria.

Tras iniciar Milvus,

  • los contenedores denominados milvus-standalone, milvus-minio y milvus-etcd estarán en funcionamiento.
    • 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 «volumes/minio» en la carpeta actual.
    • El contenedor «milvus-standalone» atiende los puertos 19530 de forma local con la configuración predeterminada y asigna sus datos a la carpeta «volumes/milvus» de la carpeta actual.

Puedes comprobar si los contenedores están en funcionamiento mediante el siguiente comando:

$ 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

También puede acceder a la interfaz web de Milvus en http://127.0.0.1:9091/webui/ para obtener más información sobre su instancia de Milvus. Para más detalles, consulte la interfaz web de Milvus.

Para probar el servidor en ejecución, siga la ruta «Utilizar un servidor Milvus existente» en la Guía de inicio rápido y conéctese a http://localhost:19530. No utilice el bloque de conexión local .db, ya que inicia una base de datos Milvus Lite independiente.

(Opcional) Actualizar las configuraciones de Milvus

Para actualizar la configuración de Milvus según sus necesidades, debe modificar el archivo /milvus/configs/user.yaml dentro del contenedor milvus-standalone.

  1. Accede al contenedor milvus-standalone.

    docker exec -it milvus-standalone bash
    
  2. Añade configuraciones adicionales para anular las predeterminadas. A continuación se da por hecho que necesitas anular la configuración predeterminada de proxy.healthCheckTimeout. Para conocer los elementos de configuración aplicables, consulta «Configuración del sistema».

    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
    
  3. Reinicia el contenedor « milvus-standalone » para aplicar los cambios.

    docker restart milvus-standalone
    

Detener y eliminar Milvus

Puede detener y eliminar este contenedor de la siguiente manera

# Stop Milvus
$ sudo docker compose down

# Delete service data
$ sudo rm -rf volumes

Actualizar una implementación existente

Para una implementación independiente de Milvus 2.6.x, siga las instrucciones de Actualizar Milvus independiente con Docker Compose. Realice una copia de seguridad de los metadatos y los datos persistentes, conserve las dependencias y la configuración existentes, y valide la ruta de actualización documentada de origen a destino antes de cambiar la imagen de Milvus. No sustituya el archivo Compose de una implementación anterior por la configuración de nueva instalación indicada anteriormente.

Limitaciones de la cola de mensajes: al actualizar a Milvus v3.0.5, debe mantener su elección actual de cola de mensajes. No se admite el cambio entre diferentes sistemas de colas de mensajes durante la actualización. La compatibilidad con el cambio de sistemas de colas de mensajes estará disponible en futuras versiones.

Milvus 2.6.x y versiones posteriores utilizan Woodpecker de forma predeterminada, mientras que las implementaciones 2.5.x utilizan RocksMQ de forma predeterminada. Si la implementación que está actualizando sigue ejecutando RocksMQ, fíjela en user.yaml antes de cambiar la imagen de Milvus, de modo que la instancia actualizada mantenga su cola de mensajes existente en lugar de comenzar con el nuevo valor predeterminado:

# user.yaml — keep RocksMQ across the upgrade
mq:
  type: rocksmq

Una vez que la instancia actualizada esté ejecutándose en la versión 3.0.5, podrá pasar de RocksMQ a Woodpecker mediante la opción «Switch Message Queue», disponible en Milvus 3.0 y versiones posteriores.

Dependencias opcionales

Esta implementación utiliza Woodpecker (integrado, backend WAL de MinIO) para la gestión de mensajes, etcd para los metadatos y MinIO para el almacenamiento de objetos. Para utilizar una cola de mensajes diferente o conectar un almacenamiento de objetos o metadatos externo, consulta:

El almacenamiento V3 está desactivado por defecto. Actívalo antes de utilizar las funciones que dependen de él. Para conocer los requisitos y las consideraciones de compatibilidad, consulta Almacenamiento V3.

Próximos pasos

Una vez instalado Milvus en Docker, puedes:

Traducido porDeepL

Office Hours

Horario de oficina de Milvus

Obtenga ayuda con el despliegue de producción de Zilliz, los expertos en Milvus.

Reserve una sesión 1:1 gratuita

Prueba Milvus gestionado gratis

Zilliz Cloud no da problemas, funciona con Milvus y es 10 veces más rápido.

Empezar
Feedback

¿Fue útil esta página?