Exécuter Milvus avec Docker Compose (Linux)
Cette page explique comment lancer une instance Milvus dans Docker à l'aide de Docker Compose.
Prérequis
- Installez Docker.
- Installez le plugin Docker Compose (version 2 ou ultérieure) et vérifiez-le à l'aide de la commande `
docker compose version`. Ces instructions utilisent la commande `docker compose`, et non l'ancienne commande `docker-compose` (version 1). - Vérifiez la configuration matérielle et logicielle requise avant l’installation.
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 composen’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 `.
Accédez au conteneur
milvus-standalone.docker exec -it milvus-standalone bashAjoutez 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.healthCheckTimeoutpar 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 EOFRedé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 :
- File d’attente de messages : Woodpecker (par défaut) · Pulsar · Kafka · RocksMQ
- Stockage d’objets : MinIO (par défaut) · AWS S3 · Azure Blob · GCP Cloud Storage · Aliyun OSS · Tencent COS · Huawei OBS · Compatible S3
- Métadonnées : etcd
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 :
Consulter le guide de démarrage rapide pour découvrir les fonctionnalités de Milvus.
Apprendre les opérations de base de Milvus :
Déployez votre cluster Milvus sur le cloud :
Découvrez Milvus WebUI, une interface web intuitive pour la surveillance et la gestion de Milvus.
Découvrez Milvus Backup, un outil open source dédié aux sauvegardes de données Milvus.
Découvrez Birdwatcher, un outil open source permettant le débogage de Milvus et les mises à jour dynamiques de la configuration.
Découvrez Attu, un outil GUI open source permettant une gestion intuitive de Milvus.