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>
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>
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>
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>
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>
Cette commande met à jour le service «my-nginx» pour exécuter avec 5 répliques.
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>
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>
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.
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>
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>
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>
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>
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.
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:
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>
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.
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>
Cette commande vous aide à suivre les tâches mises à jour et lesquelles exécutent toujours l'ancienne version.
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>
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!