Exécuter Milvus avec Docker Compose (Linux)

Cette page explique comment lancer une instance Milvus dans Docker à l'aide de Docker Compose.

Prérequis

Installer Milvus

Milvus fournit un fichier de configuration Docker Compose dans le référentiel Milvus. Téléchargez la configuration pour la version 3.0.3 et lancez un nouveau déploiement :

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

Déploiement par défaut (v3.0.3) : docker compose up -d lance trois conteneurs à exécution longue : milvus-etcd (métadonnées), milvus-minio (stockage d’objets) et milvus-standalone. La file d’attente de messages est Woodpecker (intégrée, avec MinIO / stockage d’objets comme backend WAL); aucun conteneur de file d’attente de messages distinct n’est donc nécessaire.

La configuration exécute également le service « one-shot » milvus-volume-init afin de préparer la propriété du répertoire de données. Elle se termine une fois cette tâche accomplie.

File d’attente de messages par défaut selon la version :

  • 2.5.x — la file d’attente de messages par défaut est RocksMQ.
  • 2.6.x et versions ultérieures — la file d’attente de messages par défaut est Woodpecker (intégrée).

Utilisez la configuration jointe à la version que vous comptez installer. Pour un déploiement existant, suivez les instructions de mise à niveau au lieu de remplacer sa configuration par un fichier de nouvelle installation.

  • Si docker compose n’est pas disponible, installez le plugin Compose en suivant les instructions Docker.

  • Si vous rencontrez des difficultés pour récupérer l’image, contactez-nous à l’adresse community@zilliz.com en précisant les détails du problème, et nous vous fournirons l’assistance nécessaire.

Après le démarrage de Milvus,

  • les conteneurs nommés milvus-standalone, milvus-minio et milvus-etcd sont en cours d’exécution.
    • Le conteneur milvus-etcd n’expose aucun port vers l’hôte et mappe ses données vers le répertoire volumes/etcd du dossier actuel.
    • Le conteneur milvus-minio expose localement les ports 9000 et 9001 avec les identifiants d’authentification par défaut et mappe ses données vers le répertoire volumes/minio du dossier actuel.
    • Le conteneur milvus-standalone expose localement les ports 19530 avec les paramètres par défaut et stocke ses données dans le répertoire volumes/milvus du dossier actuel.

Vous pouvez vérifier si les conteneurs sont opérationnels à l'aide de la commande suivante :

$ 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

Vous pouvez également accéder à l’interface Web de Milvus à l’adresse http://127.0.0.1:9091/webui/ pour en savoir plus sur votre instance Milvus. Pour plus de détails, consultez la section Interface Web de Milvus.

Pour tester le serveur en cours d’exécution, suivez la procédure « Utiliser un serveur Milvus existant » dans le guide de démarrage rapide et connectez-vous à http://localhost:19530. N’utilisez pas le bloc de connexion local .db, qui démarre une base de données Milvus Lite distincte.

(Facultatif) Mise à jour des configurations Milvus

Pour mettre à jour la configuration de Milvus en fonction de vos besoins, vous devez modifier le fichier ` /milvus/configs/user.yaml ` situé dans le conteneur ` milvus-standalone `.

  1. Accédez au conteneur milvus-standalone.

    docker exec -it milvus-standalone bash
    
  2. Ajoutez des paramètres supplémentaires pour remplacer ceux par défaut. La procédure suivante part du principe que vous devez remplacer le fichier proxy.healthCheckTimeout par défaut. Pour connaître les éléments de configuration concernés, reportez-vous à la section Configuration du système.

    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. Redémarrez le conteneur « milvus-standalone » pour appliquer les modifications.

    docker restart milvus-standalone
    

Arrêter et supprimer Milvus

Vous pouvez arrêter et supprimer ce conteneur comme suit

# Stop Milvus
$ sudo docker compose down

# Delete service data
$ sudo rm -rf volumes

Mettre à niveau un déploiement existant

Pour un déploiement autonome de Milvus 2.6.x, suivez la procédure « Mise à niveau de Milvus Standalone avec Docker Compose ». Sauvegardez les métadonnées et les données persistantes, conservez les dépendances et la configuration existantes, puis validez le chemin de mise à niveau de la source vers la cible documenté avant de modifier l’image Milvus. Ne remplacez pas le fichier Compose d’un ancien déploiement par la configuration de nouvelle installation ci-dessus.

Limitations relatives aux files d’attente de messages: lors de la mise à niveau vers Milvus v3.0.3, vous devez conserver votre choix actuel de file d’attente de messages. Le passage d’un système de file d’attente de messages à un autre pendant la mise à niveau n’est pas pris en charge. La prise en charge du changement de système de file d’attente de messages sera disponible dans les versions futures.

Milvus 2.6.x et versions ultérieures utilisent Woodpecker par défaut, tandis que les déploiements 2.5.x utilisent RocksMQ par défaut. Si le déploiement que vous mettez à niveau utilise encore RocksMQ, fixez-le dans ` user.yaml ` avant de modifier l’image Milvus, afin que l’instance mise à niveau conserve sa file d’attente de messages existante au lieu de démarrer avec la nouvelle valeur par défaut :

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

Une fois que l’instance mise à niveau fonctionne sous la version 3.0.3, vous pouvez passer de RocksMQ à Woodpecker à l’aide de la fonction « Switch Message Queue », disponible dans Milvus 3.0 et versions ultérieures.

Dépendances facultatives

Ce déploiement utilise Woodpecker (intégré, backend WAL MinIO) pour la messagerie, etcd pour les métadonnées et MinIO pour le stockage d’objets. Pour utiliser une file d’attente de messages différente ou connecter un stockage d’objets / des métadonnées externes, consultez :

Storage V3 est désactivé par défaut. Activez-le avant d’utiliser les fonctionnalités qui en dépendent. Pour connaître les prérequis et les considérations de compatibilité, consultez la page Storage V3.

Et ensuite

Une fois Milvus installé dans Docker, vous pouvez :

Traduit parDeepL

Office Hours

Heures de bureau à Milvus

Obtenez de l'aide pour le déploiement de la production de la part de Zilliz, les experts de Milvus.

Réservez une session 1:1 gratuite

Essayez Milvus géré gratuitement

Zilliz Cloud est sans souci, propulsé par Milvus et 10 fois plus rapide.

Commencer
Feedback

Cette page a-t - elle été utile ?