Maison > Opération et maintenance > Docker > Comment gérer les services dans Docker Swarm?

Comment gérer les services dans Docker Swarm?

Robert Michael Kim
Libérer: 2025-03-17 16:22:28
original
504 Les gens l'ont consulté

Comment gérer les services dans Docker Swarm?

La gestion des services dans Docker Swarm implique une gamme de tâches telles que les services de création, d'échelle, de mise à jour et de surveillance. Voici quelques étapes et commandes clés:

  • Création d'un service: Pour créer un service, utilisez la commande docker service create . Par exemple, pour créer un service exécutant un conteneur Nginx, vous utiliseriez:

     <code class="bash">docker service create --name my-nginx --replicas 3 nginx</code>
    Copier après la connexion

    Cette commande crée un service nommé «My-nginx» avec 3 répliques.

  • Services d'inscription: pour afficher tous les services, utilisation:

     <code class="bash">docker service ls</code>
    Copier après la connexion

    Cette commande répertorie tous les services dans l'essaim.

  • Inspection d'un service: Pour obtenir des informations détaillées sur un service, utilisez:

     <code class="bash">docker service inspect --pretty my-nginx</code>
    Copier après la connexion
    Copier après la connexion

    Cette commande fournit des informations détaillées sur le service nommé «My-nginx».

  • Suppression d'un service: Si vous devez supprimer un service, utilisez:

     <code class="bash">docker service rm my-nginx</code>
    Copier après la connexion

    Cette commande supprime le service nommé «my-nginx».

  • Mise à jour d'un service: Pour mettre à jour un service (par exemple, modifier le nombre de répliques), utilisez:

     <code class="bash">docker service update --replicas 5 my-nginx</code>
    Copier après la connexion
    Copier après la connexion

    Cette commande met à jour le service «my-nginx» pour exécuter avec 5 répliques.

Quelles commandes sont utilisées pour mettre à l'échelle les services dans Docker Swarm?

Les services d'échelle dans Docker Swarm sont cruciaux pour ajuster le nombre de répliques d'un service selon la demande. Pour mettre à l'échelle un service, utilisez la commande docker service scale . Par exemple, pour mettre à l'échelle le service «my-nginx» à 5 répliques, vous utiliseriez:

 <code class="bash">docker service scale my-nginx=5</code>
Copier après la connexion

Cette commande modifie le nombre docker service update répliques pour le service «My-nginx» à 5.

 <code class="bash">docker service update --replicas 5 my-nginx</code>
Copier après la connexion
Copier après la connexion

Les deux commandes obtiennent le même résultat, mais docker service scale est spécialement conçue pour la mise à l'échelle, tandis que docker service update peut gérer une gamme plus large de mises à jour.

Comment puis-je surveiller la santé des services dans Docker Swarm?

La surveillance de la santé des services dans Docker Swarm permet de s'assurer qu'ils fonctionnent correctement. Voici plusieurs façons de le faire:

  • Journaux de service Docker: vous pouvez vérifier les journaux d'un service en utilisant:

     <code class="bash">docker service logs my-nginx</code>
    Copier après la connexion

    Cette commande récupère les journaux du service «my-nginx», qui peut aider à identifier les problèmes.

  • Docker Service PS: Pour voir les tâches en cours d'exécution d'un service, utilisez:

     <code class="bash">docker service ps my-nginx</code>
    Copier après la connexion
    Copier après la connexion

    Cette commande montre l'état actuel des tâches associées au service «My-nginx».

  • Inspect du service Docker: Comme mentionné précédemment, cette commande peut fournir des informations détaillées sur un service, y compris l'état de santé:

     <code class="bash">docker service inspect --pretty my-nginx</code>
    Copier après la connexion
    Copier après la connexion
  • Vérification de la santé Définition de service: vous pouvez définir les contrôles de santé dans la définition du service. Par exemple:

     <code class="bash">docker service create --name my-nginx --health-cmd "curl -f http://localhost/" --health-interval 10s --health-retries 3 nginx</code>
    Copier après la connexion

    Cette commande crée un service avec un contrôle de santé qui pingle le conteneur toutes les 10 secondes et considère le conteneur malsain après 3 tentatives infructueuses.

  • Outils de surveillance tiers: des outils comme Prometheus et Grafana peuvent être intégrés à Docker Swarm pour fournir une surveillance et une visualisation plus avancées de la santé des services.

Quelles étapes sont nécessaires pour mettre à jour un service dans Docker Swarm sans temps d'arrêt?

La mise à jour d'un service dans Docker Swarm sans temps d'arrêt implique un processus de mise à jour de roulement. Voici les étapes pour y parvenir:

  1. Préparez la nouvelle image: assurez-vous que la nouvelle version de l'image de conteneur est disponible dans votre registre.
  2. Initiez la mise à jour Rolling: Utilisez la commande docker service update avec les indicateurs --update-parallelism et --update-delay pour contrôler le processus de mise à jour Rolling. Par exemple, pour mettre à jour «My-nginx» avec une nouvelle image sans temps d'arrêt:

     <code class="bash">docker service update --image nginx:latest --update-parallelism 1 --update-delay 10s my-nginx</code>
    Copier après la connexion

    Cette commande met à jour le service «My-nginx» vers la dernière image Nginx, déploiant la mise à jour d'une tâche à la fois avec un délai de 10 secondes entre chaque mise à jour de la tâche.

  3. Surveillez la mise à jour: utilisez la commande docker service ps pour surveiller l'état des tâches lorsqu'ils sont mis à jour:

     <code class="bash">docker service ps my-nginx</code>
    Copier après la connexion
    Copier après la connexion

    Cette commande vous aide à suivre les tâches mises à jour et lesquelles exécutent toujours l'ancienne version.

  4. Vérifiez la mise à jour: une fois la mise à jour terminée, utilisez docker service logs et docker service inspect pour vous assurer que le service est en cours d'exécution comme prévu:

     <code class="bash">docker service logs my-nginx docker service inspect --pretty my-nginx</code>
    Copier après la connexion

En suivant ces étapes et en utilisant les commandes appropriées avec les bonnes options, vous pouvez vous assurer que vos services sont mis à jour dans Docker Swarm sans aucun temps d'arrêt.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal