Docker Swarm logo

Installation de Docker sur CentOS

1 - Installation des packages nécessaires à l'installation de Docker

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2 - Ajout du dépôt Docker

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3 - Installation de Docker

sudo yum install docker-ce docker-ce-cli containerd.io

4 - Démarrage du Service Docker

sudo systemctl start docker

Pour une utilisation de Docker régulière, pensez à activer le démarrage automatique du service avec:

sudo systemctl enable docker

Mise en place de Docker Swarm

On dispose de trois machines, un manager et deux worker (worker1 et worker2) ainsi que de leur adresse IP

1 - On ouvre les ports nécessaires à la communication entre les noeuds

sudo firewall-cmd --zone=public --add-port=2377/tcp --permanent 
sudo firewall-cmd --zone=public --add-port=7946/tcp --permanent
sudo firewall-cmd --zone=public --add-port=7946/udp --permanent
sudo firewall-cmd --zone=public --add-port=4789/udp --permanent
sudo firewall-cmd --reload

2 - On initie un docker swarm sur le premier manager avec la commande:

docker swarm init

Si une machine possède plusieurs adresse IP, on rajoute l'option --advertise-addr pour spécifier l'adresse IP sur laquelle la machine du manager peut être contactée par les deux workers.

docker swarm init --advertise-addr <ipmanager>

Juste après la commande init, une commande pour rejoindre le swarm nouvellement créé, s'affiche:

docker swarm join --token xxxxxx-x-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxx <ipmanager>:2377

On tape cette commande dans les deux workers, pour que ces derniers rejoignent le swarm.

On peut vérifier que les workers ont bien rejoint le swarm avec la commande:

docker node ls