Lister toutes les piles (stacks)
Dans cette étape, vous apprendrez à lister toutes les piles Docker (Docker stacks) en cours d'exécution sur votre système. Une pile Docker est une collection de services déployés ensemble. Avant de pouvoir lister les piles, nous devons installer Docker Compose, qui est utilisé pour définir et exécuter des applications Docker multi-conteneurs.
Tout d'abord, installons Docker Compose. Nous allons télécharger le binaire Docker Compose et le rendre exécutable.
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
La première commande télécharge le binaire Docker Compose depuis le dépôt GitHub officiel. $(uname -s)
et $(uname -m)
sont utilisés pour obtenir le système d'exploitation et l'architecture de votre machine, afin de vous assurer de télécharger le bon binaire. La deuxième commande rend le fichier téléchargé exécutable.
Maintenant que Docker Compose est installé, vérifions l'installation en vérifiant la version.
docker-compose --version
Vous devriez voir la version de Docker Compose installée dans la sortie.
Pour démontrer la liste des piles, nous devons déployer une simple pile. Nous allons créer un fichier docker-compose.yml
qui définit un simple service web.
nano ~/project/docker-compose.yml
Collez le contenu suivant dans le fichier docker-compose.yml
:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Ce fichier docker-compose.yml
définit un seul service nommé web
qui utilise l'image nginx:latest
et mappe le port 80 de l'hôte sur le port 80 du conteneur.
Maintenant, déployons cette pile à l'aide de la commande docker stack deploy
. Nous allons nommer notre pile mywebstack
.
docker stack deploy -c ~/project/docker-compose.yml mywebstack
Le flag -c
spécifie le fichier Compose à utiliser, et mywebstack
est le nom que nous donnons à notre pile. Vous verrez une sortie indiquant que les services sont en cours de création et de déploiement.
Après avoir déployé la pile, vous pouvez lister toutes les piles en cours d'exécution à l'aide de la commande docker stack ls
.
docker stack ls
Cette commande affichera une liste de toutes les piles déployées, y compris le nom de la pile, le nombre de services, et le nombre souhaité et actuel de répliques pour chaque service. Vous devriez voir mywebstack
dans la liste des résultats.