Création d'images Docker personnalisées avec des Dockerfiles
Création d'un Dockerfile
Pour créer une image Docker personnalisée, vous devez créer un Dockerfile. Commencez par créer un nouveau fichier nommé Dockerfile dans le répertoire de votre projet. Ce fichier contiendra les instructions pour la construction de votre image Docker.
Construction de l'image Docker
Une fois votre Dockerfile prêt, vous pouvez construire l'image Docker à l'aide de la commande docker build :
docker build -t labex/my-app:latest .
Cette commande lira le Dockerfile, exécutera les instructions et créera une nouvelle image Docker nommée labex/my-app:latest. Le . à la fin de la commande spécifie le contexte de construction, qui est le répertoire où se trouve le Dockerfile.
Compréhension du processus de construction
Lorsque vous exécutez la commande docker build, Docker exécutera les instructions du Dockerfile étape par étape. Chaque instruction créera une nouvelle couche dans l'image, et Docker utilisera le cache d'images pour optimiser le processus de construction.
graph TD
A[Dockerfile] --> B[Étape de construction 1]
B --> C[Étape de construction 2]
C --> D[Étape de construction 3]
D --> E[Image Docker]
Étiquetage et publication de l'image
Après la construction de l'image, vous pouvez l'étiqueter avec une version spécifique ou une étiquette, puis la publier sur un registre Docker, tel que Docker Hub, afin que d'autres puissent l'utiliser.
## Étiquetage de l'image
docker tag labex/my-app:latest labex/my-app:v1.0
## Publication de l'image sur Docker Hub
docker push labex/my-app:v1.0
Une fois l'image disponible dans un registre, vous pouvez l'extraire et exécuter un conteneur basé sur l'image :
## Extraction de l'image depuis Docker Hub
docker pull labex/my-app:v1.0
## Exécution d'un conteneur à partir de l'image
docker run -p 8000:8000 labex/my-app:v1.0
Dans la section suivante, nous aborderons l'optimisation des couches Dockerfile pour une meilleure efficacité.