# Mise à jour des nœuds Docker Swarm ## Vérifier la disponibilité des nœuds Sur le nœud manager, vérifier que chaque nœud concerné affiche **Ready** dans la colonne `STATUS` et **Active** dans la colonne `AVAILABILITY`. Corriger tout problème avant de poursuivre. ```bash docker node ls ``` **Attention :** appliquer cette procédure à un seul nœud worker à la fois. ## Placer un nœud worker en maintenance Sur le nœud manager, exécuter la commande suivante en remplaçant `` par le nom du worker concerné : ```bash docker node update --availability drain ``` ## Vérifier la disponibilité du nœud Sur le nœud manager, vérifier dans `docker node ls` que la colonne `AVAILABILITY` affiche **Drain** pour le nœud sélectionné. Son état dans la colonne `STATUS` doit rester **Ready**. ```bash docker node ls ``` ## Vérifier le déplacement des tâches Swarm Sur le nœud en mode **Drain**, vérifier que les tâches des services Swarm ont été déplacées. Les conteneurs qui ne sont pas gérés par Swarm ne sont pas déplacés automatiquement. ```bash docker ps ``` ## Mettre à jour les paquets du système ```bash apt update apt upgrade ``` `apt update` actualise la liste des paquets disponibles ; `apt upgrade` installe les mises à jour proposées. Examiner les changements avant de confirmer. ## Rétablir la disponibilité du nœud Sur le nœud manager, exécuter la commande suivante en remplaçant `` par le nom du worker mis à jour : ```bash docker node update --availability active ``` ## Vérifier l'état du nœud et des services Sur le nœud mis à jour, vérifier les conteneurs avec `docker ps`. Leur présence dépend du placement des tâches Swarm ; confirmer également que les services sont à l'état attendu. ```bash docker ps ``` ## Répéter l'opération sur chaque nœud worker Procéder **un nœud à la fois** et attendre la fin de sa mise à jour avant de passer au suivant.