{"id":53485,"date":"2026-10-21T10:27:03","date_gmt":"2026-10-21T03:27:03","guid":{"rendered":"\/fr\/tutoriels\/?p=53485"},"modified":"2026-10-21T10:29:57","modified_gmt":"2026-10-21T03:29:57","slug":"comment-creer-docker-swarm","status":"publish","type":"post","link":"\/fr\/tutoriels\/comment-creer-docker-swarm\/","title":{"rendered":"Comment cr\u00e9er un Docker Swarm"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Docker Swarm est un outil d&rsquo;orchestration de conteneurs qui permet de g&eacute;rer plusieurs moteurs Docker comme un seul syst&egrave;me. Il permet de d&eacute;ployer et de g&eacute;rer des applications conteneuris&eacute;es sur plusieurs machines. Votre application peut ainsi continuer de fonctionner m&ecirc;me si l&rsquo;une de ces machines tombe en panne ou devient inaccessible.<\/p><p class=\"wp-block-paragraph\">Ce tutoriel vous explique comment cr&eacute;er un Docker Swarm et d&eacute;ployer des services sur plusieurs serveurs priv&eacute;s virtuels (VPS). &Agrave; l&rsquo;issue de ce guide, vous saurez mettre en place et g&eacute;rer un cluster &eacute;volutif et &agrave; haute disponibilit&eacute; avec Docker Swarm.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-prerequis\">Pr&eacute;requis<\/h2><p class=\"wp-block-paragraph\">Avant de cr&eacute;er un Docker Swarm, pr&eacute;parez au moins deux machines : une pour le n&oelig;ud manager et une autre pour le n&oelig;ud worker. Il peut s&rsquo;agir d&rsquo;ordinateurs personnels, de machines virtuelles, de VPS ou de tout autre environnement compatible.<\/p><p class=\"wp-block-paragraph\">Dans ce tutoriel, nous utiliserons <strong>trois VPS<\/strong> du <a data-click-id=\"hgr-post-content-link-service-dhebergement-docker-de-hostinger\" href=\"\/fr\/docker-hosting\">service d&rsquo;h&eacute;bergement Docker de Hostinger<\/a> : un pour le n&oelig;ud manager et les deux autres pour les n&oelig;uds workers.<\/p><p class=\"wp-block-paragraph\">Docker n&eacute;cessite au moins <strong>4 Go<\/strong> de RAM pour fonctionner correctement. Notre <strong>pack KVM 1<\/strong>, disponible &agrave; partir de<strong> <strong>5,49 \u20ac<\/strong>\/mois<\/strong> et comprenant <strong>un<\/strong> c&oelig;ur de processeur, <strong>4 Go<\/strong> de RAM et <strong>50 Go<\/strong> de stockage NVMe, devrait donc suffire.<\/p><p class=\"wp-block-paragraph\">Vous pouvez passer &agrave; un pack sup&eacute;rieur &agrave; tout moment si vous avez besoin de davantage de puissance de calcul ou d&rsquo;espace de stockage. L&rsquo;h&eacute;bergement Docker de Hostinger pr&eacute;sente un autre avantage : Docker et tous ses composants essentiels sont pr&eacute;install&eacute;s. Vous n&rsquo;avez donc rien &agrave; installer manuellement.<\/p><figure class=\"wp-block-image size-full\"><a data-click-id=\"hgr-post-content-link-hostinger-com-fr-vps\" aria-label=\"Vps\" href=\"https:\/\/www.hostinger.com\/fr\/vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/public\" alt=\"\" class=\"wp-image-41471\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-VPS-hosting_in-text-banner-1024x300-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p class=\"wp-block-paragraph\">Une fois vos VPS pr&ecirc;ts, nous vous conseillons de leur attribuer des noms d&rsquo;h&ocirc;te correspondant &agrave; leur r&ocirc;le dans le cluster. Cette &eacute;tape est facultative, mais des noms personnalis&eacute;s rendent les informations plus lisibles et facilitent l&rsquo;identification de chaque n&oelig;ud.<\/p><p class=\"wp-block-paragraph\">Pour modifier le nom d&rsquo;h&ocirc;te d&rsquo;un VPS chez Hostinger, acc&eacute;dez &agrave; <strong>Tableau de bord Hostinger &rarr; VPS &rarr; G&eacute;rer &rarr; Aper&ccedil;u &rarr; D&eacute;tails du VPS<\/strong>. Cliquez ensuite sur l&rsquo;<strong>ic&ocirc;ne en forme de crayon<\/strong> &agrave; c&ocirc;t&eacute; du nom d&rsquo;h&ocirc;te actuel, puis renommez les instances comme suit :<\/p><ul class=\"wp-block-list\">\n<li><strong>N&oelig;ud manager<\/strong> &ndash; manager.vps<\/li>\n\n\n\n<li><strong>N&oelig;ud worker 1<\/strong> &ndash; worker1.vps<\/li>\n\n\n\n<li><strong>N&oelig;ud worker 2<\/strong> &ndash; worker2.vps<\/li>\n<\/ul><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebef7ec90\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebef7ec90\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1086\" height=\"406\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/vps-hostname-nom-dhote-hostinger-dashboard-hpanel.png\/w=1024,h=1024,fit=scale-down\" alt=\"Nom d&rsquo;h&ocirc;te du VPS affich&eacute; dans la section Aper&ccedil;u de hPanel\" class=\"wp-image-53576\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/vps-hostname-nom-dhote-hostinger-dashboard-hpanel.png\/w=1086,fit=scale-down 1086w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/vps-hostname-nom-dhote-hostinger-dashboard-hpanel.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/vps-hostname-nom-dhote-hostinger-dashboard-hpanel.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/vps-hostname-nom-dhote-hostinger-dashboard-hpanel.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/vps-hostname-nom-dhote-hostinger-dashboard-hpanel.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1086px) 100vw, 1086px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Si vous avez <a data-click-id=\"hgr-post-content-link-configure-le-pare-feu-uncomplicated-firewall-ufw\" href=\"\/fr\/tutoriels\/comment-configurer-pare-feu-ufw\/\">configur&eacute; le pare-feu Uncomplicated Firewall (UFW)<\/a> sur vos VPS, autorisez les ports suivants pour permettre aux n&oelig;uds du cluster de communiquer entre eux :<\/p><ul class=\"wp-block-list\">\n<li><strong>2377 TCP<\/strong> &ndash; pour la gestion du cluster et la communication entre les n&oelig;uds.<\/li>\n\n\n\n<li><strong>7946 TCP\/UDP<\/strong> &ndash; pour la communication entre les n&oelig;uds du cluster.<\/li>\n\n\n\n<li><strong>4789 UDP<\/strong> &ndash; pour le trafic du r&eacute;seau overlay entre les conteneurs situ&eacute;s sur diff&eacute;rents n&oelig;uds.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Si vous n&rsquo;avez pas configur&eacute; UFW ou si vous venez d&rsquo;acheter vos VPS, passez cette &eacute;tape.<\/p><p class=\"wp-block-paragraph\">Pour autoriser le trafic sur les ports n&eacute;cessaires, ouvrez un terminal sur chaque instance et ex&eacute;cutez les commandes suivantes :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo ufw allow 2377\/tcp\n\nsudo ufw allow 7946\/tcp\n\nsudo ufw allow 7946\/udp\n\nsudo ufw allow 4789\/udp<\/pre><p class=\"wp-block-paragraph\">V&eacute;rifiez ensuite qu&rsquo;UFW est actif et que les r&egrave;gles sont bien appliqu&eacute;es :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo ufw status<\/pre><p class=\"wp-block-paragraph\">Il est &eacute;galement utile de conna&icirc;tre les commandes de base de l&rsquo;interface en ligne de commande (CLI) de Docker, car vous les utiliserez pour g&eacute;rer les services du cluster. Consultez notre <a data-click-id=\"hgr-post-content-link-aide-memoire-docker\" href=\"\/fr\/tutoriels\/cheat-sheet-docker\/\">aide-m&eacute;moire Docker<\/a>, qui regroupe les commandes les plus courantes pour diff&eacute;rentes op&eacute;rations.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-comment-creer-un-docker-swarm\">Comment cr&eacute;er un Docker Swarm<\/h2><p class=\"wp-block-paragraph\">Pour cr&eacute;er un cluster Docker Swarm, commencez par initialiser une machine en tant que n&oelig;ud manager, puis connectez les autres machines en tant que n&oelig;uds workers. Vous pourrez ensuite d&eacute;ployer des services dans le cluster et utiliser les commandes de l&rsquo;interface en ligne de commande (CLI) de Docker pour effectuer des op&eacute;rations telles que la mise &agrave; l&rsquo;&eacute;chelle ou les mises &agrave; jour progressives.<\/p><p class=\"wp-block-paragraph\">Suivez les &eacute;tapes ci-dessous pour cr&eacute;er votre Docker Swarm et g&eacute;rer des services sur plusieurs instances.<\/p><p class=\"wp-block-paragraph\">Vous devrez intervenir aussi bien sur le n&oelig;ud manager que sur les n&oelig;uds workers. <strong>V&eacute;rifiez bien sur quel n&oelig;ud ex&eacute;cuter chaque &eacute;tape<\/strong> : certaines op&eacute;rations s&rsquo;effectuent uniquement sur le manager, tandis que d&rsquo;autres concernent les workers.<\/p><h3 class=\"wp-block-heading h-t-title-3\"><strong>1. Installez Docker sur toutes les instances<\/strong><\/h3><p class=\"wp-block-paragraph\"><strong>&Agrave; ex&eacute;cuter sur :<\/strong> tous les n&oelig;uds.<\/p><p class=\"wp-block-paragraph\">Comme indiqu&eacute; dans les pr&eacute;requis, Docker est pr&eacute;install&eacute; sur les packs d&rsquo;h&eacute;bergement Docker de Hostinger. Si ce n&rsquo;est pas le cas dans votre environnement, vous devez <a data-click-id=\"hgr-post-content-link-installer-docker\" href=\"\/fr\/tutoriels\/installer-docker-sur-ubuntu\/\">installer Docker<\/a> sur tous les n&oelig;uds avant de configurer le cluster.<\/p><p class=\"wp-block-paragraph\">Une fois l&rsquo;installation termin&eacute;e, v&eacute;rifiez que Docker est bien install&eacute; en ex&eacute;cutant :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker --version<\/pre><p class=\"wp-block-paragraph\">Le r&eacute;sultat devrait ressembler &agrave; ceci :<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebef82903\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebef82903\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"166\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/version-de-Docker-installee-sur-le-terminal.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant la version de Docker install&eacute;e\" class=\"wp-image-53451\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/version-de-Docker-installee-sur-le-terminal.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/version-de-Docker-installee-sur-le-terminal.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/version-de-Docker-installee-sur-le-terminal.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/version-de-Docker-installee-sur-le-terminal.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">V&eacute;rifiez ensuite que le service Docker est en cours d&rsquo;ex&eacute;cution :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl status docker<\/pre><p class=\"wp-block-paragraph\">L&rsquo;&eacute;tat <strong>active (running)<\/strong> devrait appara&icirc;tre, confirmant que le daemon Docker fonctionne correctement.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebef857a2\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebef857a2\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"551\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-actif-en-cours-dexecution.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal indiquant que le service Docker est actif et en cours d&rsquo;ex&eacute;cution\" class=\"wp-image-53452\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-actif-en-cours-dexecution.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-actif-en-cours-dexecution.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-actif-en-cours-dexecution.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-actif-en-cours-dexecution.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Pour quitter l&rsquo;affichage de l&rsquo;&eacute;tat du service, appuyez sur <strong>Ctrl + C<\/strong>.<\/p><h3 class=\"wp-block-heading h-t-title-3\"><strong>2. Initialisez le n&oelig;ud manager du cluster<\/strong><\/h3><p class=\"wp-block-paragraph\"><strong>&Agrave; ex&eacute;cuter sur :<\/strong> le n&oelig;ud manager.<\/p><p class=\"wp-block-paragraph\">Une fois Docker install&eacute; sur tous les n&oelig;uds, passez au <strong>n&oelig;ud manager<\/strong> : c&rsquo;est sur cette machine que vous allez cr&eacute;er le cluster Docker Swarm. Commencez par identifier son adresse IP.<\/p><p class=\"wp-block-paragraph\">Si vous utilisez un VPS Hostinger, vous trouverez cette adresse dans la section <strong>D&eacute;tails du VPS<\/strong> de la page <strong>Aper&ccedil;u<\/strong>, au m&ecirc;me endroit que le nom d&rsquo;h&ocirc;te modifi&eacute; pr&eacute;c&eacute;demment.<\/p><p class=\"wp-block-paragraph\">Une fois l&rsquo;adresse IP r&eacute;cup&eacute;r&eacute;e, ex&eacute;cutez la commande suivante pour initialiser le cluster. Remplacez <strong>[manager node&rsquo;s IP]<\/strong> par l&rsquo;adresse IP r&eacute;elle de votre VPS :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker swarm init --advertise-addr [manager node's IP]<\/pre><p class=\"wp-block-paragraph\">Vous obtiendrez un r&eacute;sultat similaire &agrave; celui-ci :<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebef88aa5\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebef88aa5\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"192\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/jeton-docker-swarm-rejoindre-terminal.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant la commande g&eacute;n&eacute;r&eacute;e pour rejoindre le cluster Docker Swarm\" class=\"wp-image-53454\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/jeton-docker-swarm-rejoindre-terminal.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/jeton-docker-swarm-rejoindre-terminal.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/jeton-docker-swarm-rejoindre-terminal.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/jeton-docker-swarm-rejoindre-terminal.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Copiez et conservez la commande <code>docker swarm join<\/code> g&eacute;n&eacute;r&eacute;e. Vous en aurez besoin pour connecter les n&oelig;uds workers au cluster.<\/p><p class=\"wp-block-paragraph\">Pour v&eacute;rifier que le cluster a bien d&eacute;marr&eacute;, ex&eacute;cutez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker info<\/pre><p class=\"wp-block-paragraph\">Cette commande affiche notamment des informations sur l&rsquo;&eacute;tat du cluster.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebef8bc98\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebef8bc98\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"585\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-actif.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant l&rsquo;&eacute;tat du cluster Swarm\" class=\"wp-image-53459\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-actif.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-actif.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-actif.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-actif.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Affichez ensuite la liste des n&oelig;uds du cluster :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker node ls<\/pre><p class=\"wp-block-paragraph\">Vous devriez voir plusieurs informations sur chaque n&oelig;ud, notamment son identifiant, son nom d&rsquo;h&ocirc;te, son &eacute;tat, sa disponibilit&eacute; et son r&ocirc;le.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebef8ecff\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebef8ecff\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"84\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant la liste des n&oelig;uds du cluster Swarm\" class=\"wp-image-53460\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>\n\n        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Conseil de pro                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Si vous souhaitez ajouter des n&oelig;uds, mais que vous avez perdu le jeton de connexion, ex&eacute;cutez la commande suivante sur le n&oelig;ud <strong>manager<\/strong> pour l&rsquo;afficher &agrave; nouveau :<br>\n<strong>docker swarm join-token worker<\/strong><\/p>\n                    <\/div>\n        \n\n\n\n<\/p><h3 class=\"wp-block-heading h-t-title-3\"><strong>3. Ajoutez des n&oelig;uds workers<\/strong><\/h3><p class=\"wp-block-paragraph\"><strong>&Agrave; ex&eacute;cuter sur :<\/strong> les n&oelig;uds worker1 et worker2.<\/p><p class=\"wp-block-paragraph\">Connectez-vous maintenant au n&oelig;ud <strong>worker1<\/strong> et ex&eacute;cutez la commande de connexion que vous avez copi&eacute;e sur le manager :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker swarm join --token [join token] [manager node's IP]:2377<\/pre><p class=\"wp-block-paragraph\">Si le message <strong>This node joined a swarm as a worker<\/strong> appara&icirc;t, le n&oelig;ud a bien rejoint le cluster.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebef92560\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebef92560\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"104\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-nud-ayant-rejoint-un-swarm-en-tant-que-nud-de-travail.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal confirmant qu&rsquo;un n&oelig;ud worker a rejoint le cluster Swarm\" class=\"wp-image-53461\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-nud-ayant-rejoint-un-swarm-en-tant-que-nud-de-travail.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-nud-ayant-rejoint-un-swarm-en-tant-que-nud-de-travail.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-nud-ayant-rejoint-un-swarm-en-tant-que-nud-de-travail.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-nud-ayant-rejoint-un-swarm-en-tant-que-nud-de-travail.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">R&eacute;p&eacute;tez l&rsquo;op&eacute;ration sur <strong>worker2<\/strong>, puis sur tout autre n&oelig;ud que vous souhaitez ajouter au cluster.<\/p><p>\n\n\n        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Conseil de pro                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Chaque fois que vous ajoutez un n&oelig;ud, revenez sur le n&oelig;ud <strong>manager<\/strong> et ex&eacute;cutez <strong>docker node ls<\/strong> pour v&eacute;rifier qu&rsquo;il a bien rejoint le cluster.<\/p>\n                    <\/div>\n        \n\n\n\n<\/p><h3 class=\"wp-block-heading h-t-title-3\"><strong>4. D&eacute;ployez votre premier service<\/strong><\/h3><p class=\"wp-block-paragraph\"><strong>&Agrave; ex&eacute;cuter sur :<\/strong> le n&oelig;ud manager.<\/p><p class=\"wp-block-paragraph\">Revenez sur le <strong>n&oelig;ud manager<\/strong> pour d&eacute;ployer un service de test nomm&eacute; <strong>hello-world<\/strong>. Vous supprimerez ce service &agrave; l&rsquo;&eacute;tape suivante, mais cet exercice vous permettra de vous familiariser avec la gestion des services dans Docker Swarm.<\/p><p class=\"wp-block-paragraph\">Pour cr&eacute;er le service <strong>hello-world<\/strong>, ex&eacute;cutez la commande suivante :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service create --replicas 1 --name hello-world alpine ping docker.com<\/pre><ul class=\"wp-block-list\">\n<li><strong>docker service create<\/strong> &ndash; lance la cr&eacute;ation d&rsquo;un service dans Docker Swarm.<\/li>\n\n\n\n<li><strong>&ndash;replicas 1<\/strong> &ndash; d&eacute;finit le nombre de r&eacute;pliques du service &agrave; ex&eacute;cuter, ici <strong>1<\/strong>.<\/li>\n\n\n\n<li><strong>&ndash;name hello-world<\/strong> &ndash; attribue le nom <strong>hello-world<\/strong> au service.<\/li>\n\n\n\n<li><strong>alpine ping docker.com<\/strong> &ndash; utilise l&rsquo;image Docker <strong>alpine<\/strong> pour envoyer une requ&ecirc;te ping &agrave; <strong>docker.com<\/strong>, &agrave; titre de test.<\/li>\n<\/ul><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebef9593a\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebef9593a\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"181\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-converged.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant la cr&eacute;ation du service hello-world\" class=\"wp-image-53462\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-converged.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-converged.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-converged.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-converged.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Affichez ensuite la liste des services en cours d&rsquo;ex&eacute;cution dans le cluster :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service ls<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebef9893c\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebef9893c\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"109\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-en-course.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant les services en cours d&rsquo;ex&eacute;cution dans le cluster Swarm\" class=\"wp-image-53467\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-en-course.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-en-course.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-en-course.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-en-course.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h3 class=\"wp-block-heading h-t-title-3\"><strong>5. Examinez les services et ajustez leur nombre de r&eacute;pliques<\/strong><\/h3><p class=\"wp-block-paragraph\"><strong>&Agrave; ex&eacute;cuter sur :<\/strong> le n&oelig;ud manager.<\/p><p class=\"wp-block-paragraph\">Apr&egrave;s avoir d&eacute;ploy&eacute; votre service de test, vous allez examiner ses caract&eacute;ristiques et ajuster son nombre de r&eacute;pliques dans le cluster.<\/p><p class=\"wp-block-paragraph\"><strong>Consultez les d&eacute;tails du service<\/strong><\/p><p class=\"wp-block-paragraph\">Pour afficher les informations du service <strong>hello-world<\/strong>, ex&eacute;cutez la commande suivante :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service inspect --pretty hello-world<\/pre><p class=\"wp-block-paragraph\">Vous obtiendrez des informations d&eacute;taill&eacute;es sur le service, notamment son identifiant, le nombre de r&eacute;pliques et ses autres param&egrave;tres. L&rsquo;option <strong>&ndash;pretty<\/strong> pr&eacute;sente le r&eacute;sultat dans un format plus lisible.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebef9c711\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebef9c711\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"550\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-inspect.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant les informations d&eacute;taill&eacute;es du service hello-world\" class=\"wp-image-53468\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-inspect.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-inspect.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-inspect.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-inspect.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong>V&eacute;rifiez sur quels n&oelig;uds le service s&rsquo;ex&eacute;cute<\/strong><\/p><p class=\"wp-block-paragraph\">Pour savoir sur quels n&oelig;uds le service s&rsquo;ex&eacute;cute, utilisez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service ps hello-world<\/pre><p class=\"wp-block-paragraph\">Cette commande affiche toutes les t&acirc;ches associ&eacute;es au service <strong>hello-world<\/strong>, ainsi que les n&oelig;uds sur lesquels elles s&rsquo;ex&eacute;cutent.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebef9f9f8\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebef9f9f8\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"73\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-manager.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal indiquant que le service hello-world s&rsquo;ex&eacute;cute sur le n&oelig;ud manager\" class=\"wp-image-53469\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-manager.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-manager.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-manager.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-manager.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong>Augmentez le nombre de r&eacute;pliques du service<\/strong><\/p><p class=\"wp-block-paragraph\">Pour mettre le service &agrave; l&rsquo;&eacute;chelle, modifiez son nombre de r&eacute;pliques. Par exemple, pour ex&eacute;cuter <strong>trois r&eacute;pliques<\/strong> de <strong>hello-world<\/strong>, utilisez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service scale hello-world=3<\/pre><p class=\"wp-block-paragraph\">Docker Swarm cr&eacute;era alors des r&eacute;pliques suppl&eacute;mentaires du service sur les n&oelig;uds disponibles.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefa2f46\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefa2f46\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"238\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-scale-converged.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant la cr&eacute;ation de r&eacute;pliques suppl&eacute;mentaires du service hello-world\" class=\"wp-image-53470\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-scale-converged.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-scale-converged.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-scale-converged.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-scale-converged.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong>V&eacute;rifiez la nouvelle r&eacute;partition des t&acirc;ches<\/strong><\/p><p class=\"wp-block-paragraph\">Apr&egrave;s avoir augment&eacute; le nombre de r&eacute;pliques, v&eacute;rifiez comment les t&acirc;ches sont r&eacute;parties entre les n&oelig;uds :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service ps hello-world<\/pre><p class=\"wp-block-paragraph\">Vous devriez constater que les t&acirc;ches sont d&eacute;sormais r&eacute;parties de mani&egrave;re &eacute;quilibr&eacute;e entre les trois n&oelig;uds, contrairement &agrave; ce que vous aviez observ&eacute; lors de la premi&egrave;re ex&eacute;cution de cette commande.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefa699c\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefa699c\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"111\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-manager-worker1-worker2.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal montrant que le service hello-world s&rsquo;ex&eacute;cute sur les trois n&oelig;uds du cluster\" class=\"wp-image-53473\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-manager-worker1-worker2.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-manager-worker1-worker2.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-manager-worker1-worker2.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-manager-worker1-worker2.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong>Supprimez le service<\/strong><\/p><p class=\"wp-block-paragraph\">Une fois le service examin&eacute; et mis &agrave; l&rsquo;&eacute;chelle, supprimez-le du cluster en ex&eacute;cutant :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service rm hello-world<\/pre><p class=\"wp-block-paragraph\">Cette commande supprime le service <strong>hello-world<\/strong> du cluster en toute s&eacute;curit&eacute;.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefaa1a6\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefaa1a6\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"133\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/Supprimez-le-service-Docker-depuis-le-terminal.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal confirmant la suppression du service hello-world du cluster Swarm\" class=\"wp-image-53472\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/Supprimez-le-service-Docker-depuis-le-terminal.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/Supprimez-le-service-Docker-depuis-le-terminal.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/Supprimez-le-service-Docker-depuis-le-terminal.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/Supprimez-le-service-Docker-depuis-le-terminal.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong>V&eacute;rifiez la suppression du service<\/strong><\/p><p class=\"wp-block-paragraph\">Pour confirmer que le service a bien &eacute;t&eacute; supprim&eacute; du cluster, ex&eacute;cutez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service ls<\/pre><p class=\"wp-block-paragraph\">Si la suppression a r&eacute;ussi, le service <strong>hello-world<\/strong> n&rsquo;appara&icirc;tra plus dans la liste.<\/p><h3 class=\"wp-block-heading h-t-title-3\"><strong>6. Effectuez des mises &agrave; jour progressives des services<\/strong><\/h3><p class=\"wp-block-paragraph\"><strong>&Agrave; ex&eacute;cuter sur :<\/strong> le n&oelig;ud manager.<\/p><p class=\"wp-block-paragraph\">Les mises &agrave; jour progressives permettent de mettre &agrave; jour des services sans interruption. Docker Swarm met &agrave; jour les r&eacute;pliques une par une et ne passe &agrave; la suivante qu&rsquo;une fois la mise &agrave; jour de la pr&eacute;c&eacute;dente termin&eacute;e.<\/p><p class=\"wp-block-paragraph\">Vous allez d&rsquo;abord d&eacute;ployer un service utilisant l&rsquo;image Docker Redis avec le tag <strong>7.4.0<\/strong>, puis le mettre &agrave; jour vers la version <strong>7.4.1<\/strong> en proc&eacute;dant par mise &agrave; jour progressive.<\/p><p class=\"wp-block-paragraph\"><strong>D&eacute;ployez un service Redis<\/strong><\/p><p class=\"wp-block-paragraph\">Commencez par d&eacute;ployer un service utilisant une ancienne version de l&rsquo;image Docker Redis, que vous pourrez ensuite mettre &agrave; jour :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service create --name redis --replicas 3 redis:7.4.0<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefaec53\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefaec53\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"215\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-create-converged.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant la cr&eacute;ation du service Redis\" class=\"wp-image-53474\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-create-converged.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-create-converged.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-create-converged.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-create-converged.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong><strong>Mettez &agrave; jour le service<\/strong><\/strong><\/p><p class=\"wp-block-paragraph\">Pour mettre &agrave; jour le service, ex&eacute;cutez la commande suivante en indiquant une version plus r&eacute;cente de l&rsquo;image Redis :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service update --image redis:7.4.1 redis<\/pre><p class=\"wp-block-paragraph\">Docker Swarm remplacera progressivement les anciens conteneurs par ceux utilisant la nouvelle version, afin d&rsquo;assurer une mise &agrave; jour sans interruption de service.<\/p><p class=\"wp-block-paragraph\"><strong>V&eacute;rifiez la version du service apr&egrave;s la mise &agrave; jour<\/strong><\/p><p class=\"wp-block-paragraph\">Pour v&eacute;rifier la version du service et confirmer qu&rsquo;il utilise bien la nouvelle image, ex&eacute;cutez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service inspect --pretty redis<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefb2e19\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefb2e19\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"548\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-inspect-image.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant la version de l&rsquo;image Docker utilis&eacute;e par le service Redis\" class=\"wp-image-53475\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-inspect-image.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-inspect-image.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-inspect-image.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-inspect-image.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong>V&eacute;rifiez sur quels n&oelig;uds le service s&rsquo;ex&eacute;cute<\/strong><\/p><p class=\"wp-block-paragraph\">Pour suivre la mise &agrave; jour progressive et identifier les conteneurs encore en cours d&rsquo;ex&eacute;cution et ceux qui sont en cours de remplacement, utilisez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker service ps redis<\/pre><p class=\"wp-block-paragraph\">La liste des t&acirc;ches du service s&rsquo;affiche. Dans la colonne indiquant l&rsquo;&eacute;tat souhait&eacute;, vous verrez <strong>Running<\/strong> pour les conteneurs mis &agrave; jour et <strong>Shutdown<\/strong> pour les anciens.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefb5f8b\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefb5f8b\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"168\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-en-course-arret.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant les &eacute;tats Running et Shutdown des conteneurs du service Redis\" class=\"wp-image-53476\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-en-course-arret.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-en-course-arret.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-en-course-arret.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-service-en-course-arret.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h3 class=\"wp-block-heading h-t-title-3\"><strong>7. Verrouillez votre Docker Swarm<\/strong><\/h3><p class=\"wp-block-paragraph\"><strong>&Agrave; ex&eacute;cuter sur :<\/strong> le n&oelig;ud manager.<\/p><p class=\"wp-block-paragraph\">Le verrouillage d&rsquo;un cluster Docker Swarm impose l&rsquo;utilisation d&rsquo;une cl&eacute; de chiffrement pour le d&eacute;verrouiller et modifier sa configuration. Cette protection permet de r&eacute;server l&rsquo;acc&egrave;s et les modifications du cluster aux utilisateurs autoris&eacute;s et d&rsquo;emp&ecirc;cher les modifications non autoris&eacute;es.<\/p><p>\n\n\n<div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                Vous n&rsquo;avez pas besoin de d&eacute;verrouiller le cluster pour simplement y ajouter un nouveau n&oelig;ud.\n            <\/p><\/div>\n\n\n\n<\/p><p class=\"wp-block-paragraph\"><strong>Activez le verrouillage automatique du cluster<\/strong><\/p><p class=\"wp-block-paragraph\">Vous pouvez activer le verrouillage d&egrave;s l&rsquo;initialisation du cluster en ajoutant l&rsquo;option <strong>&ndash;autolock<\/strong>, comme ceci :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker swarm init --autolock --advertise-addr [manager node's IP]<\/pre><p class=\"wp-block-paragraph\">Comme vous n&rsquo;avez pas activ&eacute; cette option lors de l&rsquo;initialisation, vous pouvez &eacute;galement verrouiller le cluster existant avec la commande suivante :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker swarm update --autolock=true<\/pre><p class=\"wp-block-paragraph\">Cette commande active le verrouillage automatique du cluster &agrave; chaque red&eacute;marrage. Elle g&eacute;n&egrave;re &eacute;galement une cl&eacute; de d&eacute;verrouillage, que vous devez conserver en lieu s&ucirc;r.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefb9b0f\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefb9b0f\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"275\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-autolock-key.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant la cl&eacute; de d&eacute;verrouillage du cluster Swarm\" class=\"wp-image-53477\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-autolock-key.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-autolock-key.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-autolock-key.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-autolock-key.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Pour d&eacute;sactiver le verrouillage automatique, remplacez simplement la valeur <strong>true<\/strong> par <strong>false<\/strong> dans l&rsquo;option <strong>&ndash;autolock<\/strong>.<\/p><p class=\"wp-block-paragraph\"><strong>R&eacute;cup&eacute;rez la cl&eacute; de d&eacute;verrouillage<\/strong><\/p><p class=\"wp-block-paragraph\">Si vous avez oubli&eacute; de conserver la cl&eacute; lors de l&rsquo;activation du verrouillage automatique, vous pouvez la r&eacute;cup&eacute;rer en ex&eacute;cutant :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker swarm unlock-key<\/pre><p class=\"wp-block-paragraph\"><strong>D&eacute;verrouillez le cluster<\/strong><\/p><p class=\"wp-block-paragraph\">Vous devez d&eacute;verrouiller le cluster pour red&eacute;marrer le service Docker ou effectuer des op&eacute;rations de maintenance sur le n&oelig;ud manager. Pour cela, ex&eacute;cutez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker swarm unlock<\/pre><p class=\"wp-block-paragraph\">Vous serez alors invit&eacute; &agrave; saisir la cl&eacute; de d&eacute;verrouillage que vous avez conserv&eacute;e pr&eacute;c&eacute;demment.<\/p><p>\n\n\n        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Lectures conseill&eacute;es                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Pour prot&eacute;ger les donn&eacute;es sensibles, utilisez les secrets de build Docker (Docker build secrets). Ils ne s&eacute;curisent pas directement le cluster, mais contribuent &agrave; prot&eacute;ger vos identifiants et autres informations sensibles pendant la construction des images et l&rsquo;ex&eacute;cution des conteneurs.<\/p>\n                    <\/div>\n        \n\n\n\n<\/p><h3 class=\"wp-block-heading h-t-title-3\"><strong>8. G&eacute;rez et entretenez les n&oelig;uds<\/strong><\/h3><p class=\"wp-block-paragraph\"><strong>&Agrave; ex&eacute;cuter sur :<\/strong> le n&oelig;ud manager.<\/p><p class=\"wp-block-paragraph\">La gestion d&rsquo;un cluster Docker Swarm n&eacute;cessite de v&eacute;rifier r&eacute;guli&egrave;rement la disponibilit&eacute; et le r&ocirc;le de chaque n&oelig;ud. Ces v&eacute;rifications contribuent &agrave; maintenir le cluster en bon &eacute;tat de fonctionnement et &agrave; &eacute;viter les interruptions.<\/p><p class=\"wp-block-paragraph\"><strong>Examinez les informations d&rsquo;un n&oelig;ud<\/strong><\/p><p class=\"wp-block-paragraph\">Pour consulter les informations d&eacute;taill&eacute;es d&rsquo;un n&oelig;ud, ex&eacute;cutez la commande suivante en rempla&ccedil;ant <strong>[node name]<\/strong> par le nom du n&oelig;ud concern&eacute; :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker node inspect [node name]<\/pre><p class=\"wp-block-paragraph\">Vous verrez son &eacute;tat actuel, sa disponibilit&eacute; et son r&ocirc;le au sein du cluster.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefbd292\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefbd292\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"799\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-inspect-worker.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant les informations d&eacute;taill&eacute;es du n&oelig;ud worker1\" class=\"wp-image-53478\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-inspect-worker.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-inspect-worker.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-inspect-worker.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-inspect-worker.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong>Mettez un n&oelig;ud en mode drain<\/strong><\/p><p class=\"wp-block-paragraph\">Le mode <strong>drain<\/strong> rend un n&oelig;ud indisponible pour l&rsquo;attribution de nouvelles t&acirc;ches. Vous pouvez ainsi effectuer des op&eacute;rations de maintenance sans perturber le fonctionnement du cluster :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker node update --availability drain [node name]<\/pre><p class=\"wp-block-paragraph\">Cette commande emp&ecirc;che l&rsquo;attribution de nouvelles t&acirc;ches au n&oelig;ud et entra&icirc;ne le d&eacute;placement des t&acirc;ches existantes vers d&rsquo;autres n&oelig;uds.<\/p><p class=\"wp-block-paragraph\"><strong>Mettez un n&oelig;ud en pause<\/strong><\/p><p class=\"wp-block-paragraph\">Le mode <strong>pause<\/strong> emp&ecirc;che &eacute;galement l&rsquo;attribution de nouvelles t&acirc;ches &agrave; un n&oelig;ud, mais permet aux t&acirc;ches existantes de continuer &agrave; s&rsquo;ex&eacute;cuter. Pour l&rsquo;activer, utilisez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker node update --availability pause [node name]<\/pre><p class=\"wp-block-paragraph\">Cette option est utile lorsque vous souhaitez suspendre temporairement l&rsquo;attribution de nouvelles t&acirc;ches &agrave; un n&oelig;ud sans interrompre celles qui sont d&eacute;j&agrave; en cours d&rsquo;ex&eacute;cution.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefc01a2\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefc01a2\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"160\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-disponibilite-drain-pause.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal affichant les n&oelig;uds plac&eacute;s en modes drain et pause\" class=\"wp-image-53479\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-disponibilite-drain-pause.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-disponibilite-drain-pause.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-disponibilite-drain-pause.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-disponibilite-drain-pause.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong><strong>R&eacute;activez un n&oelig;ud en mode drain ou pause<\/strong><\/strong><\/p><p class=\"wp-block-paragraph\">Une fois la maintenance termin&eacute;e, r&eacute;tablissez le fonctionnement normal du n&oelig;ud en faisant passer sa disponibilit&eacute; de <strong>drain<\/strong> ou <strong>pause<\/strong> &agrave; <strong>active<\/strong> :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker node update --availability active [node name]<\/pre><p class=\"wp-block-paragraph\"><strong><strong>Attribuez le r&ocirc;le de manager &agrave; un n&oelig;ud<\/strong><\/strong><\/p><p class=\"wp-block-paragraph\">Pour permettre &agrave; un n&oelig;ud de g&eacute;rer le cluster, attribuez-lui le r&ocirc;le de manager &agrave; l&rsquo;aide de cette commande :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker node promote [node name]<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefc31df\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefc31df\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"125\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-promote.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal montrant la promotion du n&oelig;ud worker1 au r&ocirc;le de manager\" class=\"wp-image-53480\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-promote.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-promote.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-promote.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-promote.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong>R&eacute;trogradez un n&oelig;ud manager en worker<\/strong><\/p><p class=\"wp-block-paragraph\">Lors d&rsquo;une r&eacute;organisation ou d&rsquo;une op&eacute;ration de maintenance, vous pouvez avoir besoin de retirer le r&ocirc;le de manager &agrave; un n&oelig;ud pour qu&rsquo;il redevienne un worker. Dans ce cas, ex&eacute;cutez :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker node demote [node name]<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefc609e\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefc609e\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"144\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-demote.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal montrant la r&eacute;trogradation d&rsquo;un n&oelig;ud manager en worker\" class=\"wp-image-53481\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-demote.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-demote.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-demote.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-node-demote.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>\n\n        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Conseil de pro                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Plut&ocirc;t que de g&eacute;rer les n&oelig;uds un par un, vous pouvez modifier le r&ocirc;le de plusieurs n&oelig;uds avec une seule commande. Par exemple, pour attribuer le r&ocirc;le de manager aux n&oelig;uds <strong>worker1<\/strong> et <strong>worker2<\/strong>, ex&eacute;cutez :<br>\n<strong>docker node promote worker1 worker2<\/strong><\/p>\n                    <\/div>\n        \n\n\n\n<\/p><h3 class=\"wp-block-heading h-t-title-3\"><strong>9. Faites quitter les n&oelig;uds et supprimez le cluster<\/strong><\/h3><p class=\"wp-block-paragraph\"><strong>&Agrave; ex&eacute;cuter sur :<\/strong> les n&oelig;uds worker1, worker2 et manager.<\/p><p class=\"wp-block-paragraph\">Pour terminer, voyons comment retirer des n&oelig;uds du cluster Docker Swarm et, si n&eacute;cessaire, supprimer l&rsquo;ensemble du cluster.<\/p><p class=\"wp-block-paragraph\"><strong>Faites quitter le cluster &agrave; un n&oelig;ud worker<\/strong><\/p><p class=\"wp-block-paragraph\">Sur le n&oelig;ud <strong>worker1<\/strong>, ex&eacute;cutez la commande suivante pour lui faire quitter le cluster en toute s&eacute;curit&eacute; :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker swarm leave<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefc9310\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefc9310\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"175\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-quitter-un-nud-de-travail.png\/w=1024,h=1024,fit=scale-down\" alt=\"R&eacute;sultat du terminal confirmant que le n&oelig;ud worker1 a quitt&eacute; le cluster Swarm\" class=\"wp-image-53482\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-quitter-un-nud-de-travail.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-quitter-un-nud-de-travail.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-quitter-un-nud-de-travail.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-docker-swarm-quitter-un-nud-de-travail.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">R&eacute;p&eacute;tez l&rsquo;op&eacute;ration sur les autres n&oelig;uds que vous souhaitez retirer du cluster.<\/p><p class=\"wp-block-paragraph\"><strong>Retirez les n&oelig;uds de la liste du cluster<\/strong><\/p><p class=\"wp-block-paragraph\">Une fois qu&rsquo;un n&oelig;ud worker a quitt&eacute; le cluster, retirez-le de la liste des n&oelig;uds depuis le <strong>n&oelig;ud manager<\/strong> :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker node rm [node name]<\/pre><p class=\"wp-block-paragraph\">Docker Engine ne lui attribuera alors plus de t&acirc;ches. Vous pouvez &eacute;galement retirer plusieurs n&oelig;uds avec une seule commande en indiquant leurs noms :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker node rm [node name 1] [node name 2]<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6ad8ebefcc580\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6ad8ebefcc580\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"176\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-indique-que-vous-avez-supprime-les-noeuds-1024x176.avif\" alt=\"La sortie de terminal indique que vous avez supprim&eacute; les n&oelig;uds &laquo; worker1 &raquo; et &laquo; worker2 &raquo; de la liste des n&oelig;uds\" class=\"wp-image-53517\" srcset=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-indique-que-vous-avez-supprime-les-noeuds-1024x176.avif 1024w, https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-indique-que-vous-avez-supprime-les-noeuds-300x52.avif 300w, https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-indique-que-vous-avez-supprime-les-noeuds-150x26.avif 150w, https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-indique-que-vous-avez-supprime-les-noeuds-768x132.avif 768w, https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-indique-que-vous-avez-supprime-les-noeuds-1536x264.avif 1536w, https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-content\/uploads\/sites\/46\/2026\/10\/terminal-indique-que-vous-avez-supprime-les-noeuds.avif 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\"><strong><strong>Supprimez le cluster<\/strong><\/strong><\/p><p class=\"wp-block-paragraph\">Il n&rsquo;existe pas de commande sp&eacute;cifique pour supprimer enti&egrave;rement un cluster Docker Swarm. Vous pouvez toutefois forcer le dernier n&oelig;ud manager &agrave; quitter le cluster, ce qui mettra fin &agrave; son fonctionnement :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker swarm leave --force<\/pre><p class=\"wp-block-paragraph\">Assurez-vous que ce n&oelig;ud est bien le dernier du cluster. Si d&rsquo;autres n&oelig;uds managers sont encore pr&eacute;sents, cette commande ne supprimera pas le cluster.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-conclusion\">Conclusion<\/h2><p class=\"wp-block-paragraph\">Docker Swarm facilite le d&eacute;ploiement, la mise &agrave; l&rsquo;&eacute;chelle et la mise &agrave; jour d&rsquo;applications conteneuris&eacute;es sur plusieurs machines, tout en contribuant &agrave; maintenir une infrastructure &agrave; haute disponibilit&eacute; et r&eacute;siliente.<\/p><p class=\"wp-block-paragraph\">Dans ce tutoriel, nous avons vu comment cr&eacute;er et g&eacute;rer un Docker Swarm de A &agrave; Z :<\/p><ol start=\"1\" class=\"wp-block-list\">\n<li>Pr&eacute;parer les instances VPS et y installer Docker.<\/li>\n\n\n\n<li>Initialiser le n&oelig;ud manager du cluster.<\/li>\n\n\n\n<li>Ajouter des n&oelig;uds workers au cluster.<\/li>\n\n\n\n<li>D&eacute;ployer un service de test pour se familiariser avec la gestion des services.<\/li>\n\n\n\n<li>Examiner le service et augmenter son nombre de r&eacute;pliques pour observer la r&eacute;partition des t&acirc;ches.<\/li>\n\n\n\n<li>Effectuer des mises &agrave; jour progressives sans interruption de service.<\/li>\n\n\n\n<li>Verrouiller le cluster pour renforcer sa s&eacute;curit&eacute;.<\/li>\n\n\n\n<li>G&eacute;rer les n&oelig;uds et assurer leur maintenance.<\/li>\n\n\n\n<li>Retirer les n&oelig;uds et supprimer le cluster.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">Pour aller plus loin, essayez de d&eacute;ployer une v&eacute;ritable application sur votre cluster, de configurer <a data-click-id=\"hgr-post-content-link-nginx-comme-proxy-inverse\" href=\"\/fr\/tutoriels\/reverse-proxy-nginx\/\">NGINX comme proxy inverse<\/a> pour g&eacute;rer le trafic ou de d&eacute;couvrir les stacks Docker afin de cr&eacute;er une infrastructure plus &eacute;volutive et plus facile &agrave; maintenir.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-faq-sur-la-creation-dun-cluster-docker-swarm\">FAQ sur la cr&eacute;ation d&rsquo;un cluster Docker Swarm<\/h2><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1792147021465\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong><strong>Qu&rsquo;est-ce que Docker Swarm ?<\/strong><\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Docker Swarm est un outil natif de clustering et d&rsquo;orchestration qui permet de g&eacute;rer plusieurs moteurs Docker comme un seul syst&egrave;me virtuel. Il facilite le d&eacute;ploiement, la mise &agrave; l&rsquo;&eacute;chelle et la maintenance d&rsquo;applications conteneuris&eacute;es, avec une haute disponibilit&eacute; et une r&eacute;partition de charge int&eacute;gr&eacute;e entre plusieurs n&oelig;uds.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1792147023312\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong><strong>Comment ajouter des n&oelig;uds &agrave; un Docker Swarm ?<\/strong><\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Pour ajouter un n&oelig;ud, commencez par g&eacute;n&eacute;rer un jeton de connexion sur le n&oelig;ud manager &agrave; l&rsquo;aide de la commande <strong>docker swarm join-token worker<\/strong>. Ex&eacute;cutez ensuite la commande <strong>docker swarm join<\/strong> sur le nouveau n&oelig;ud pour le connecter au cluster. Le n&oelig;ud rejoindra alors automatiquement le cluster.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1792147023755\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong><strong>Peut-on cr&eacute;er un Docker Swarm sur plusieurs h&ocirc;tes ?<\/strong><\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Oui, Docker Swarm est con&ccedil;u pour fonctionner sur plusieurs h&ocirc;tes. Vous pouvez cr&eacute;er un cluster &agrave; partir de machines r&eacute;parties sur diff&eacute;rents h&ocirc;tes ou chez plusieurs fournisseurs de services cloud. Une fois connect&eacute;es, ces machines forment un seul cluster, ce qui vous permet d&rsquo;ex&eacute;cuter des services sur plusieurs h&ocirc;tes gr&acirc;ce &agrave; la r&eacute;partition int&eacute;gr&eacute;e des services.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Docker Swarm est un outil d&rsquo;orchestration de conteneurs qui permet de g&eacute;rer plusieurs moteurs Docker comme un seul syst&egrave;me. Il permet de d&eacute;ployer et de g&eacute;rer des applications conteneuris&eacute;es sur plusieurs machines. Votre application peut ainsi continuer de fonctionner m&ecirc;me si l&rsquo;une de ces machines tombe en panne ou devient inaccessible. Ce tutoriel vous explique [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/fr\/tutoriels\/comment-creer-docker-swarm\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":190,"featured_media":53449,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Comment cr\u00e9er un Docker Swarm : guide \u00e9tape par \u00e9tape","rank_math_description":"Apprenez \u00e0 cr\u00e9er un Docker Swarm sur plusieurs VPS, \u00e0 ajouter des n\u0153uds, \u00e0 d\u00e9ployer des services et \u00e0 g\u00e9rer votre cluster \u00e9tape par \u00e9tape.","rank_math_focus_keyword":"Comment cr\u00e9er un Docker Swarm","footnotes":""},"categories":[5883,5845],"tags":[],"class_list":["post-53485","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-applications-preinstallees","category-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-create-docker-swarm\/","default":0},{"locale":"de-DE","link":"https:\/\/www.hostinger.com\/de\/tutorials\/docker-swarm-erstellen\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-create-docker-swarm\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-create-docker-swarm\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-create-docker-swarm\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-create-docker-swarm\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-create-docker-swarm\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-create-docker-swarm\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-create-docker-swarm\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/comment-creer-docker-swarm","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/53485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/users\/190"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/comments?post=53485"}],"version-history":[{"count":11,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/53485\/revisions"}],"predecessor-version":[{"id":53577,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/53485\/revisions\/53577"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media\/53449"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media?parent=53485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/categories?post=53485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/tags?post=53485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}