Comment utiliser la commande docker compose images pour lister les images

DockerDockerBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce lab, vous apprendrez à utiliser la commande docker compose images pour lister les images Docker utilisées par les services définis dans un fichier docker-compose.yml. Nous commencerons par préparer un simple fichier docker-compose.yml, puis nous utiliserons la commande docker compose up pour démarrer les services.

Ensuite, nous explorerons différentes méthodes pour lister les images. Vous découvrirez comment lister toutes les images utilisées par les conteneurs créés, comment ne lister que les ID d'images en utilisant l'option quiet, et comment lister les images au format JSON pour un parsing plus facile. Cette expérience pratique vous fournira des compétences concrètes pour gérer les images dans vos projets Docker Compose.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/start("Start Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/images("List Images") subgraph Lab Skills docker/ps -.-> lab-555080{{"Comment utiliser la commande docker compose images pour lister les images"}} docker/start -.-> lab-555080{{"Comment utiliser la commande docker compose images pour lister les images"}} docker/pull -.-> lab-555080{{"Comment utiliser la commande docker compose images pour lister les images"}} docker/images -.-> lab-555080{{"Comment utiliser la commande docker compose images pour lister les images"}} end

Préparer un fichier docker-compose.yml simple

Dans cette étape, nous allons préparer un fichier docker-compose.yml simple. Avant de commencer, nous devons installer Docker Compose. Docker Compose est un outil pour définir et exécuter des applications multi-conteneurs Docker. Avec Compose, vous utilisez un fichier YAML pour configurer les services de votre application. Ensuite, avec une seule commande, vous créez et démarrez tous les services à partir de votre configuration.

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

Maintenant, vérifions l'installation en contrôlant la version de Docker Compose.

docker-compose --version

Vous devriez voir une sortie similaire à Docker Compose version v2.20.2.

Ensuite, nous allons créer un répertoire pour notre projet et nous y placer.

mkdir ~/project/my-docker-app
cd ~/project/my-docker-app

Maintenant, nous allons créer un fichier docker-compose.yml en utilisant l'éditeur nano. Ce fichier définira un service web simple utilisant l'image nginx.

nano docker-compose.yml

Dans l'éditeur nano, collez le contenu suivant :

version: "3.8"
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"

Analysons ce fichier docker-compose.yml :

  • version: '3.8' spécifie la version du format de fichier Compose.
  • services: définit les services de notre application.
  • web: est le nom de notre service.
  • image: nginx:latest spécifie l'image Docker à utiliser pour ce service. Ici, nous utilisons la dernière version de l'image nginx.
  • ports: mappe les ports entre l'hôte et le conteneur. "80:80" mappe le port 80 de l'hôte vers le port 80 du conteneur.

Enregistrez le fichier en appuyant sur Ctrl + X, puis Y, et enfin Entrée.

Avant de démarrer le service, nous devons récupérer l'image nginx:latest.

docker pull nginx:latest

Cette commande télécharge l'image nginx:latest depuis Docker Hub.

Démarrer les services définis dans le fichier docker-compose.yml

Dans cette étape, nous allons démarrer les services définis dans notre fichier docker-compose.yml. Nous utiliserons la commande docker-compose up pour construire, créer et démarrer les services.

Assurez-vous de vous trouver dans le répertoire ~/project/my-docker-app où vous avez créé le fichier docker-compose.yml.

cd ~/project/my-docker-app

Maintenant, exécutez la commande suivante pour démarrer les services en mode détaché (en arrière-plan).

docker-compose up -d

L'option -d exécute les conteneurs en mode détaché, ce qui signifie qu'ils fonctionneront en arrière-plan sans bloquer votre terminal.

Vous devriez voir une sortie indiquant que le service web est en cours de création et de démarrage.

Pour vérifier que le conteneur est en cours d'exécution, vous pouvez utiliser la commande docker ps.

docker ps

Vous devriez voir un conteneur nommé my-docker-app-web-1 (ou similaire, selon le nom du répertoire du projet) avec l'image nginx, et le statut devrait être Up.

Nous pouvons également vérifier si le serveur web est accessible en utilisant curl pour accéder à localhost sur le port 80.

curl http://localhost:80

Vous devriez voir le code HTML de la page d'accueil par défaut de Nginx dans votre terminal, confirmant que le serveur web fonctionne et est accessible.

Lister les images utilisées par les conteneurs créés

Dans cette étape, nous allons lister les images Docker présentes sur notre système, en nous concentrant particulièrement sur l'image utilisée par le conteneur que nous venons de créer. La commande docker images permet de lister les images.

Exécutez la commande suivante pour lister toutes les images :

docker images

Vous devriez voir un tableau avec des informations sur les images, incluant REPOSITORY, TAG, IMAGE ID, CREATED et SIZE. L'image nginx devrait apparaître dans cette liste.

Ce résultat affiche les images qui ont été téléchargées (pull) ou construites sur votre système. L'image nginx a été téléchargée lors de l'étape précédente et est maintenant utilisée par le conteneur en cours d'exécution.

Lister uniquement les ID d'images avec l'option quiet

Dans cette étape, nous allons apprendre comment lister uniquement les ID d'images en utilisant la commande docker images avec l'option quiet. Cette fonctionnalité est utile lorsque vous avez besoin d'obtenir une liste d'ID d'images pour des scripts ou d'autres usages.

L'option quiet est spécifiée avec le flag -q.

Exécutez la commande suivante pour lister uniquement les ID d'images :

docker images -q

Vous devriez voir une liste d'ID d'images, un par ligne. Ce résultat est beaucoup plus concis que la sortie complète de docker images.

Cette option est particulièrement utile lorsque vous souhaitez traiter la liste d'images de manière programmatique, par exemple pour supprimer des images anciennes.

Lister les images au format JSON

Dans cette étape, nous allons apprendre à lister les images Docker au format JSON. Cette méthode est particulièrement utile lorsque vous souhaitez analyser la sortie de manière programmatique à l'aide d'outils comme jq.

Nous pouvons utiliser l'option --format avec la commande docker images pour spécifier le format de sortie. Pour obtenir la sortie au format JSON, nous utilisons le mot-clé json.

Exécutez la commande suivante pour lister les images au format JSON :

docker images --format json

Vous devriez voir la sortie au format JSON, qui représente les informations des images de manière structurée. Chaque image sera représentée comme un objet JSON au sein d'un tableau JSON.

Ce format est idéal pour intégrer les informations des images Docker dans des scripts ou d'autres applications capables de traiter des données JSON.

Après avoir complété cette étape, vous pouvez arrêter le conteneur en cours d'exécution et supprimer le répertoire du projet si vous le souhaitez.

Pour arrêter le conteneur, revenez au répertoire ~/project/my-docker-app et exécutez :

cd ~/project/my-docker-app
docker-compose down

Cette commande arrête et supprime les conteneurs, réseaux et volumes créés par docker-compose up.

Pour supprimer le répertoire du projet, vous pouvez utiliser la commande rm :

cd ~/project
rm -rf my-docker-app

Résumé

Dans ce lab, nous avons appris à utiliser la commande docker compose images pour lister les images utilisées par les services définis dans un fichier docker-compose.yml. Nous avons commencé par préparer un simple fichier docker-compose.yml définissant un service web utilisant l'image nginx, incluant l'installation de Docker Compose et la création de la structure de fichiers nécessaire.

Nous avons ensuite démarré les services définis dans le fichier docker-compose.yml. Enfin, nous avons exploré différentes méthodes pour lister les images utilisées par les conteneurs créés, notamment :

  • Lister tous les détails des images
  • Lister uniquement les ID d'images avec l'option quiet
  • Lister les images au format JSON