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
- Instala Docker.
- Instala el complemento de Docker Compose (V2 o posterior) y comprueba que funciona con el comando «
docker compose version». Estas instrucciones utilizan «docker compose», no el comando heredado «docker-compose» de la versión V1. - Comprueba los requisitos de hardware y software antes de la instalación.
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.
Accede al contenedor
milvus-standalone.docker exec -it milvus-standalone bashAñ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 EOFReinicia 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:
- Cola de mensajes: Woodpecker (predeterminada) · Pulsar · Kafka · RocksMQ
- Almacenamiento de objetos: MinIO (predeterminado) · AWS S3 · Azure Blob · GCP Cloud Storage · Aliyun OSS · Tencent COS · Huawei OBS · Compatible con S3
- Metadatos: etcd
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:
Consulta la Guía de inicio rápido para ver lo que Milvus puede hacer.
Aprender las operaciones básicas de Milvus:
Implementa tu clúster de Milvus en la nube:
Descubre Milvus WebUI, una interfaz web intuitiva para la observabilidad y la gestión de Milvus.
Descubre Milvus Backup, una herramienta de código abierto para realizar copias de seguridad de los datos de Milvus.
Descubre Birdwatcher, una herramienta de código abierto para la depuración de Milvus y las actualizaciones dinámicas de configuración.
Descubre Attu, una herramienta GUI de código abierto para la gestión intuitiva de Milvus.