Introduction aux images Docker
Les images Docker sont la base des conteneurs Docker, qui sont les éléments constitutifs des applications basées sur Docker. Une image Docker est un modèle en lecture seule qui contient un ensemble d'instructions pour créer un conteneur Docker. Ces instructions incluent le système d'exploitation, les logiciels, les bibliothèques et les dépendances nécessaires pour exécuter une application.
Les images Docker sont stockées dans un registre Docker, qui est un dépôt centralisé pour les images Docker. Le registre Docker le plus populaire est Docker Hub, qui héberge une vaste collection d'images Docker publiques et officielles.
Pour comprendre les images Docker, explorons les concepts clés :
Qu'est-ce qu'une image Docker?
Une image Docker est un package exécutable, autonome et léger qui inclut tout ce qui est nécessaire pour exécuter une application : le code, l'environnement d'exécution, les outils système, les bibliothèques et les paramètres. Les images Docker sont la base pour créer des conteneurs Docker.
Couches d'image Docker
Les images Docker sont constituées d'une série de couches. Chaque couche représente une instruction dans le Dockerfile de l'image. Lorsque vous modifiez le Dockerfile et que vous reconstruisez l'image, seules les couches qui ont été modifiées sont reconstruites. Cela rend la construction d'images efficace et permet de minimiser la taille des images Docker.
Téléchargement et exécution d'images Docker
Vous pouvez télécharger des images Docker depuis un registre, comme Docker Hub, en utilisant la commande docker pull
. Une fois que vous avez une image, vous pouvez en créer un conteneur en utilisant la commande docker run
.
## Pull the Ubuntu 22.04 image from Docker Hub
docker pull ubuntu:22.04
## Run a container based on the Ubuntu 22.04 image
docker run -it ubuntu:22.04 /bin/bash
Cela démarrera un nouveau conteneur basé sur l'image Ubuntu 22.04 et vous donnera un accès au shell à l'intérieur du conteneur.
Conventions de nommage des images Docker
Les images Docker suivent une convention de nommage spécifique : [registry-host[:port]]/[username/]name[:tag]
. Le format le plus courant est name:tag
, où name
est le nom de l'image et tag
est la version ou la variante de l'image.