Lister les conteneurs en cours d'exécution avec docker compose ps
Dans cette étape, vous apprendrez à lister les conteneurs en cours d'exécution en utilisant docker compose ps
. Avant de pouvoir utiliser docker compose
, nous devons l'installer.
Tout d'abord, installons Docker Compose. Nous allons télécharger la dernière version stable.
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
Cette commande télécharge le binaire Docker Compose pour l'architecture de votre système et l'enregistre dans /usr/local/bin/docker-compose
.
Ensuite, nous devons appliquer les permissions d'exécution au binaire.
sudo chmod +x /usr/local/bin/docker-compose
Maintenant, vérifions l'installation en contrôlant la version.
docker-compose --version
Vous devriez voir la version installée de Docker Compose dans le résultat.
Pour démontrer docker compose ps
, nous avons besoin d'un fichier docker-compose.yml
et de quelques services à exécuter. Créons un simple fichier docker-compose.yml
dans votre répertoire ~/project
.
nano ~/project/docker-compose.yml
Ajoutez le contenu suivant au fichier :
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
app:
image: alpine:latest
command: sleep infinity
Ce fichier docker-compose.yml
définit deux services : web
utilisant l'image nginx
et app
utilisant l'image alpine
. Le service web
mappe le port 80 de l'hôte vers le port 80 du conteneur. Le service app
exécute la commande sleep infinity
pour maintenir le conteneur en cours d'exécution.
Enregistrez le fichier et quittez l'éditeur (Ctrl+X, Y, Entrée).
Maintenant, téléchargeons les images nécessaires.
docker pull nginx:latest
docker pull alpine:latest
Ces commandes téléchargent les images nginx:latest
et alpine:latest
depuis Docker Hub.
Ensuite, démarrez les services définis dans le fichier docker-compose.yml
. Assurez-vous d'être dans le répertoire ~/project
.
cd ~/project
docker-compose up -d
La commande docker-compose up -d
construit, crée, démarre et attache les conteneurs pour un service. Le flag -d
exécute les conteneurs en mode détaché, ce qui signifie qu'ils fonctionnent en arrière-plan.
Maintenant que les conteneurs sont en cours d'exécution, nous pouvons utiliser docker compose ps
pour les lister.
docker-compose ps
Cette commande liste les conteneurs en cours d'exécution définis dans votre fichier docker-compose.yml
. Vous devriez voir un résultat similaire à ceci, montrant les noms des conteneurs, les commandes, les statuts et les ports.
NAME COMMAND SERVICE STATUS PORTS
project-app-1 "sleep infinity" app running
project-web-1 "/docker-entrypoint.sh nginx -g 'daemon off;'" web running 0.0.0.0:80->80/tcp
Le résultat montre que les conteneurs project-app-1
et project-web-1
sont en cours d'exécution. Le NAME
est généralement le nom du projet (le nom du répertoire) suivi du nom du service et d'un numéro.