Docker Swarm · 4 min read · Feb 07, 2026
Comment configurer et configurer un cluster Docker Swarm sur Ubuntu

Docker Swarm est un outil qui vous permet de déployer un cluster d’hôtes Docker. C’est un outil de clustering natif fourni par Docker qui offre une haute disponibilité et des performances élevées pour votre application en la distribuant à tous les nœuds à l’intérieur du cluster swarm.
Dans ce tutoriel, nous allons vous montrer étape par étape comment créer un cluster Swarm en utilisant Ubuntu 16.04. Nous allons créer un cluster swarm en utilisant 2 machines serveur Ubuntu, 1 nœud serveur en tant que gestionnaire et 1 autre en tant que travailleur. Ensuite, nous allons essayer de déployer le service Nginx simple sur le cluster swarm.
Prérequis
- 2 ou plus - Ubuntu 16.04 Server - gestionnaire 132.92.41.4
- worker01 132.92.41.5
- Privilèges root
Que allons-nous faire ?
- Configurer les hôtes
- Installer Docker-ce
- Initialisation de Docker Swarm
- Déploiement du premier service sur le cluster
Étape 1 - Configurer les hôtes
Avant d’installer des packages pour le cluster swarm, nous allons configurer le fichier hosts sur les deux serveurs.
Exécutez les commandes ci-dessous sur tous les serveurs, ‘gestionnaire’ et ‘worker01’.
Éditez le fichier ‘/etc/hosts’ en utilisant l’éditeur vim.
vim /etc/hostsAjoutez la configuration suivante à la fin de la ligne.
132.92.41.4 gestionnaire
132.92.41.5 worker01Enregistrez et quittez.
Maintenant, pinguez tous les nœuds en utilisant ‘hostname’ au lieu d’utiliser l’adresse IP.
ping -c 3 gestionnaire
ping -c 3 worker01Et assurez-vous que cela fonctionne sur tous les hôtes.

Étape 2 - Installer Docker-ce
Pour créer le cluster swarm, nous devons installer Docker sur tous les nœuds serveur. Dans cette étape, nous allons installer Docker-ce Community Edition sur les deux serveurs gestionnaire et worker01.
Installez les dépendances de Docker-ce en utilisant la commande apt ci-dessous.
sudo apt install apt-transport-https software-properties-common ca-certificates -yAjoutez maintenant la clé Docker et le dépôt Docker-ce à nos serveurs.
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" > /etc/apt/sources.list.d/docker-ce.listMettez à jour le dépôt et installez les packages Docker-ce en utilisant la commande apt install ci-dessous.
sudo apt update
sudo apt install docker-ce -yAprès l’installation, démarrez le service docker et activez-le pour qu’il se lance à chaque démarrage du système.
systemctl start docker
systemctl enable dockerDocker-ce est maintenant installé sur nos nœuds serveur.
Ensuite, nous allons configurer Docker pour qu’il s’exécute en tant qu’utilisateur normal ou utilisateur non-root.
Créez un nouvel utilisateur nommé ‘mohammad’ et ajoutez-le au groupe ‘docker’.
useradd -m -s /bin/bash mohammad
sudo usermod -aG docker mohammadConnectez-vous maintenant à l’utilisateur ‘mohammad’ et exécutez la commande docker hello-world comme ci-dessous.
su - mohammad
docker run hello-worldEt vous obtiendrez le hello world de Docker comme montré ci-dessous.

Étape 3 - Créer le cluster Swarm
Dans cette étape, nous allons créer le cluster Swarm de nos nœuds. Et pour créer les nœuds du cluster swarm, nous devons initialiser le mode swarm sur le nœud ‘gestionnaire’ puis rejoindre le nœud ‘worker01’ au cluster.
Initialisez le mode Docker Swarm en exécutant la commande docker ci-dessous sur le nœud ‘gestionnaire’.
docker swarm init --advertise-addr 132.92.41.4Et vous obtiendrez le résultat comme montré ci-dessous.
Vous verrez que ‘join-token’ a été généré par le nœud ‘gestionnaire’.
Ensuite, nous devons ajouter le nœud ‘worker01’ au cluster ‘gestionnaire’. Et pour cela, nous avons besoin d’un ‘join-token’ du nœud ‘gestionnaire’ du cluster, alors assurez-vous de l’écrire sur votre note.
Exécutez la commande docker swarm join sur le nœud ‘worker01’.
docker swarm join --token SWMTKN-1-5p5ujrr67rl2rlmyvrj56fksblbcrtaeirf7fj5r4snid2vn6y-918gbqr02m64xct43i2ssi4qs 132.92.41.4:2377Maintenant, vous obtiendrez le résultat comme montré ci-dessous.
Le nœud ‘worker01’ a été rejoint au cluster.
Vérifiez-le en exécutant la commande suivante sur le nœud ‘gestionnaire’.
docker node lsMaintenant, vous voyez que le nœud ‘worker01’ a été rejoint au cluster swarm.
Le cluster Swarm a été créé.
Étape 4 - Déploiement du premier service sur le cluster
Dans cette étape, nous allons créer et déployer notre premier service sur le cluster swarm. Nous voulons créer un nouveau service serveur web Nginx qui s’exécutera sur le port http par défaut 80, puis l’exposer au port 8080 sur le serveur hôte, et ensuite essayer de répliquer le service nginx à l’intérieur du cluster swarm.
Créer le service
Créez un nouveau service Nginx nommé ‘my-web’ et exposez le port HTTP du conteneur au port 8080 sur l’hôte.
docker service create --name my-web --publish 8080:80 nginx:1.13-alpineEt lorsqu’il est créé, vérifiez en utilisant la commande docker service ci-dessous.
docker service lsEt vous obtiendrez le résultat comme montré ci-dessous.
Le service Nginx a été créé et déployé sur le cluster swarm en tant que service nommé ‘my-web’, il est basé sur Nginx Alpine Linux, expose le port HTTP du service conteneur au port ‘8080’ sur l’hôte, et il a seulement 1 réplique.
Répliques et mise à l’échelle du service
Maintenant, nous allons créer des répliques pour le service ‘my-web’. Nous allons faire 2 répliques du service ‘my-web’, afin que le service soit accessible sur les nœuds ‘gestionnaire’ et ‘worker01’.
Pour répliquer le service ‘my-web’, exécutez la commande suivante.
docker service scale my-web=2Et après que cela soit terminé, vérifiez à nouveau en utilisant la commande docker service.
docker service lsEt maintenant le serveur a 2 répliques.

Ouvrez votre navigateur web et tapez l’adresse IP du nœud gestionnaire avec le port 8080.
Et vous obtiendrez la page par défaut de Nginx.
Voici le résultat du nœud ‘worker01’.
Le cluster Swarm a été créé, et le service Nginx a été complètement déployé sur notre cluster Swarm.
Référence
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.