Introduction
Docker est devenu un outil essentiel pour le développement logiciel moderne, permettant aux développeurs d'empaqueter et de déployer des applications de manière cohérente et fiable. Les images Docker servent d'éléments constitutifs pour les applications conteneurisées, fournissant des environnements préconfigurés qui peuvent être facilement partagés et déployés.
Dans ce laboratoire pratique, vous apprendrez à rechercher des images Docker en utilisant l'interface de ligne de commande Docker, à extraire (pull) ces images sur votre machine locale et à exécuter des conteneurs basés sur ces images. À la fin de ce tutoriel, vous aurez les compétences nécessaires pour trouver et utiliser des images Docker qui répondent aux exigences spécifiques de votre projet.
Vérification de l'installation de Docker
Avant de commencer à rechercher des images Docker, vérifions d'abord que Docker est correctement installé et en cours d'exécution sur votre système.
Vérification de l'installation de Docker
Ouvrez une fenêtre de terminal et exécutez la commande suivante pour vérifier si Docker est installé :
docker --version
Vous devriez voir une sortie similaire à celle-ci :
Docker version 20.10.21, build baeda1f
Ceci confirme que Docker est installé sur votre système. Le numéro de version peut être différent selon votre installation.
Vérification de l'état du service Docker
Vérifions également si le service Docker est en cours d'exécution en exécutant :
sudo systemctl status docker
Vous devriez voir une sortie indiquant que le service Docker est actif et en cours d'exécution :
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since...
Si, pour une raison quelconque, Docker n'est pas en cours d'exécution, vous pouvez le démarrer avec :
sudo systemctl start docker
Comprendre les images Docker
Une image Docker est un modèle en lecture seule contenant un ensemble d'instructions pour créer un conteneur. Vous pouvez considérer une image comme un instantané ou un plan d'une application ainsi que son environnement, ses dépendances et sa configuration.
Les images Docker sont :
- En couches (Layered) : Construites à l'aide d'une série de couches qui peuvent être partagées entre les images
- En lecture seule (Read-only) : Ne peuvent pas être modifiées une fois créées
- Nommées et taguées (Named and tagged) : Identifiées par un nom et une balise (tag) optionnelle (par exemple,
ubuntu:22.04)
Dans l'étape suivante, nous allons apprendre à rechercher ces images.
Recherche d'images Docker
Docker Hub est le registre public officiel des images Docker. Il contient des milliers d'images, y compris des images officielles maintenues par les fournisseurs de logiciels et des images communautaires créées par les utilisateurs de Docker.
Recherche d'images de base
Pour rechercher des images Docker, utilisez la commande docker search suivie d'un terme de recherche. Recherchons des images Ubuntu :
docker search ubuntu
Vous verrez une sortie similaire à celle-ci :
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 14938 [OK]
ubuntu-upstart Upstart is an event-based replacement for th… 112 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 254 [OK]
...
La sortie affiche :
- NAME : Le nom de l'image
- DESCRIPTION : Une brève description de l'image
- STARS : Nombre d'utilisateurs ayant mis une étoile à l'image (indicateur de popularité)
- OFFICIAL : Tag indiquant une image officielle maintenue par le fournisseur de logiciels
- AUTOMATED : Tag indiquant une image construite par un processus automatisé
Filtrage des résultats de recherche
Vous pouvez filtrer les résultats de recherche en utilisant l'option --filter. Par exemple, pour afficher uniquement les images officielles :
docker search --filter=is-official=true ubuntu
Pour trouver des images avec au moins 100 étoiles (images populaires) :
docker search --filter=stars=100 ubuntu
Vous pouvez également combiner plusieurs filtres :
docker search --filter=is-official=true --filter=stars=100 nginx
Cette commande recherche les images Nginx officielles avec au moins 100 étoiles.
Recherche de versions spécifiques
La commande docker search n'affiche pas les tags (versions) des images, mais vous pouvez les trouver en :
- Visitant le site web Docker Hub (hub.docker.com)
- Utilisant la commande
docker image inspect(après avoir extrait l'image)
Par exemple, pour voir toutes les versions Ubuntu disponibles, visitez : https://hub.docker.com/_/ubuntu?tab=tags
Choisir la bonne image
Lors de la sélection d'une image Docker, tenez compte des éléments suivants :
- Images officielles (Official images) : Privilégiez les images officielles car elles sont maintenues par le fournisseur de logiciels
- Images populaires (Popular images) : Un nombre d'étoiles plus élevé indique plus d'utilisateurs et potentiellement une meilleure maintenance
- Mises à jour récentes (Recent updates) : Vérifiez la date de la dernière mise à jour de l'image
- Documentation : Recherchez des images avec une bonne documentation
- Taille (Size) : Tenez compte de la taille de l'image, car les images plus petites se téléchargent plus rapidement
Téléchargement d'images Docker
Une fois que vous avez trouvé une image que vous souhaitez utiliser, vous pouvez la télécharger sur votre machine locale avec la commande docker pull.
Extraction d'une image (Pulling an Image)
Extrayons l'image Ubuntu officielle :
docker pull ubuntu
Vous verrez une sortie similaire à :
Using default tag: latest
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
Par défaut, Docker extrait le tag latest. Pour extraire une version spécifique, ajoutez un tag :
docker pull ubuntu:20.04
Vous verrez une sortie affichant la progression du téléchargement pour cette version spécifique.
Lister les images téléchargées
Pour voir toutes les images que vous avez téléchargées, utilisez :
docker images
Ou le nouveau format de commande :
docker image ls
Les deux commandes produisent la même sortie :
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 1318b700e415 4 weeks ago 72.8MB
ubuntu 20.04 1318b700e415 4 weeks ago 72.8MB
Comprendre les tags d'image (Image Tags)
Les images Docker sont identifiées par des tags. Le format du tag est généralement :
repository:tag
Où :
- repository : Généralement au format
username/image-nameou simplementimage-namepour les images officielles - tag : Spécifie la version (par exemple,
latest,20.04,3.9-alpine)
Si vous omettez le tag, Docker suppose que vous souhaitez le tag latest.
Obtenir les détails de l'image
Pour afficher des informations détaillées sur une image, utilisez :
docker image inspect ubuntu:latest
Cette commande affiche un objet JSON avec toutes les métadonnées de l'image, y compris les couches, la configuration et les variables d'environnement.
Pour voir l'historique des couches de l'image :
docker history ubuntu:latest
Cela montre comment l'image a été construite, couche par couche.
Exécution de conteneurs à partir d'images
Maintenant que vous avez téléchargé des images Docker, apprenons à créer et à exécuter des conteneurs basés sur ces images.
Exécution d'un conteneur de base
Pour exécuter un conteneur à partir d'une image, utilisez la commande docker run :
docker run ubuntu echo "Hello from Docker"
Cette commande :
- Crée un nouveau conteneur basé sur l'image Ubuntu
- Exécute la commande
echo "Hello from Docker"à l'intérieur du conteneur - Quitte après l'exécution de la commande
Vous devriez voir la sortie :
Hello from Docker
Exécution d'un conteneur interactif
Pour interagir avec un conteneur, utilisez les flags -it (terminal interactif) :
docker run -it ubuntu bash
Cela démarre un shell bash à l'intérieur du conteneur. Vous êtes maintenant effectivement "à l'intérieur" du conteneur et pouvez exécuter des commandes.
Essayez quelques commandes :
ls
cat /etc/os-release
Pour quitter le conteneur, tapez :
exit
Lister les conteneurs en cours d'exécution
Pour voir tous les conteneurs en cours d'exécution :
docker ps
Étant donné que nos conteneurs se sont arrêtés immédiatement après l'exécution, vous pourriez ne voir aucune sortie. Pour voir tous les conteneurs, y compris ceux qui sont arrêtés :
docker ps -a
Cela affiche tous les conteneurs, leur statut et quand ils ont été créés/arrêtés.
Cycle de vie d'un conteneur (Container Lifecycle)
Les conteneurs ont un cycle de vie :
- Created (Créé) : Le conteneur est créé mais non démarré
- Running (En cours d'exécution) : Le conteneur est en cours d'exécution
- Paused (En pause) : L'exécution du conteneur est en pause
- Stopped (Arrêté) : Le conteneur s'est arrêté mais existe toujours
- Removed (Supprimé) : Le conteneur est supprimé
Vous pouvez supprimer un conteneur arrêté avec :
docker rm <container_id>
Remplacez <container_id> par l'ID affiché dans la sortie de docker ps -a.
Pour supprimer automatiquement un conteneur après son arrêt, utilisez le flag --rm :
docker run --rm ubuntu echo "This container will be removed after execution"
Exécution d'un conteneur de serveur web
Essayons quelque chose de plus pratique en exécutant un serveur web Nginx :
docker pull nginx:alpine
Cela extrait une image Nginx légère basée sur Alpine Linux.
Maintenant, exécutez un conteneur qui mappe le port 8080 sur votre hôte vers le port 80 dans le conteneur :
docker run -d -p 8080:80 --name my-nginx nginx:alpine
Cette commande :
-d: Exécute le conteneur en mode détaché (arrière-plan)-p 8080:80: Mappe le port 8080 sur votre hôte vers le port 80 dans le conteneur--name my-nginx: Nomme le conteneur "my-nginx"
Vous pouvez maintenant accéder à la page d'accueil Nginx en naviguant vers http://localhost:8080 dans un navigateur web, ou en utilisant curl :
curl http://localhost:8080
Vous devriez voir le contenu HTML de la page d'accueil Nginx.
Pour arrêter et supprimer ce conteneur :
docker stop my-nginx
docker rm my-nginx
Résumé
Félicitations pour avoir terminé ce laboratoire de recherche et d'utilisation d'images Docker. Tout au long de ce tutoriel, vous avez :
- Vérifié votre installation de Docker et compris le concept des images Docker
- Appris à rechercher des images Docker en utilisant la commande
docker search - Téléchargé des images Docker sur votre machine locale en utilisant
docker pull - Listé et inspecté vos images Docker locales
- Créé et exécuté des conteneurs à partir de ces images en utilisant diverses options de
docker run - Compris le cycle de vie des conteneurs et comment gérer les conteneurs
Ces compétences constituent la base pour travailler avec Docker dans vos projets de développement. Vous pouvez maintenant rechercher, télécharger et utiliser des images Docker pour créer des environnements conteneurisés pour vos applications.
Les prochaines étapes de votre parcours Docker pourraient inclure :
- Apprendre à créer vos propres images Docker avec des Dockerfiles
- Comprendre le réseau Docker et la persistance des données
- Explorer Docker Compose pour les applications multi-conteneurs
- Plonger dans l'orchestration de conteneurs avec Kubernetes
Continuez à expérimenter avec différentes images Docker pour découvrir le vaste écosystème de conteneurs pré-construits disponibles pour accélérer votre flux de travail de développement.



