Comment exécuter un conteneur Docker basé sur une image personnalisée

DockerBeginner
Pratiquer maintenant

Introduction

Docker est une plateforme de conteneurisation populaire qui permet aux développeurs d'emballer et de déployer des applications dans un environnement cohérent et isolé. Dans ce tutoriel, vous apprendrez à construire une image Docker personnalisée et à exécuter un conteneur Docker basé sur cette image. À la fin de ce guide, vous aurez une compréhension solide du processus de création, de gestion et d'exécution de conteneurs Docker pour vos applications.

Comprendre les conteneurs Docker

Docker est une plateforme open-source populaire qui permet aux développeurs de construire, déployer et exécuter des applications dans un environnement conteneurisé. Les conteneurs sont des paquets logiciels légers, autonomes et exécutables qui incluent tout ce dont une application a besoin pour fonctionner, y compris le code, le runtime, les outils système et les bibliothèques.

Qu'est-ce qu'un conteneur Docker ?

Un conteneur Docker est une unité logicielle standardisée qui regroupe le code et toutes ses dépendances afin que l'application fonctionne rapidement et de manière fiable d'un environnement informatique à un autre. Les conteneurs sont créés à partir d'images Docker, qui sont les modèles pour la création de conteneurs.

graph LR
  A[Image Docker] --> B[Conteneur Docker]
  B[Conteneur Docker] --> C[Application en cours d'exécution]

Avantages des conteneurs Docker

Les conteneurs Docker offrent plusieurs avantages par rapport aux approches de virtualisation traditionnelles :

Avantage Description
Portabilité Les conteneurs peuvent fonctionner de manière cohérente sur n'importe quelle machine, quel que soit l'infrastructure sous-jacente.
Efficacité Les conteneurs partagent le système d'exploitation hôte, ce qui les rend plus légers et plus efficaces que les machines virtuelles.
Cohérence Les conteneurs garantissent que les applications fonctionneront toujours de la même manière, quel que soit l'environnement.
Scalabilité Les conteneurs peuvent être facilement mis à l'échelle pour répondre aux demandes changeantes.

Cycle de vie d'un conteneur Docker

Le cycle de vie d'un conteneur Docker comprend les étapes suivantes :

  1. **Construction **: Création d'une image Docker à partir d'un Dockerfile.
  2. **Envoi **: Stockage de l'image Docker dans un registre, tel que Docker Hub.
  3. **Exécution **: Lancement d'un nouveau conteneur à partir d'une image Docker.
  4. **Gestion **: Surveillance, mise à l'échelle et maintenance des conteneurs en cours d'exécution.

En comprenant les bases des conteneurs Docker, vous pouvez maintenant passer à la construction d'une image Docker personnalisée.

Création d'une image Docker personnalisée

Pour créer une image Docker personnalisée, vous devez créer un Dockerfile, qui est un fichier texte contenant les instructions pour la construction de l'image.

Création d'un Dockerfile

Voici un exemple de Dockerfile qui construit une image personnalisée basée sur l'image de base Ubuntu 22.04 et installe le serveur web Apache :

## Utiliser l'image de base Ubuntu 22.04
FROM ubuntu:22.04

## Mettre à jour l'index des paquets et installer Apache
RUN apt-get update && apt-get install -y apache2

## Définir la commande par défaut à exécuter lors du démarrage du conteneur
CMD ["apache2ctl", "-D", "FOREGROUND"]

Construction de l'image Docker

Pour construire l'image Docker à partir du Dockerfile, exécutez la commande suivante dans le même répertoire que le Dockerfile :

docker build -t my-apache-image .

Cette commande créera une nouvelle image Docker nommée my-apache-image basée sur les instructions du Dockerfile.

Inspection de l'image Docker

Après la construction de l'image, vous pouvez lister toutes les images sur votre système à l'aide de la commande suivante :

docker images

Cela affichera la liste des images Docker, y compris l'my-apache-image que vous venez de créer.

Vous pouvez également inspecter les détails de l'image à l'aide de la commande suivante :

docker inspect my-apache-image

Cela affichera les métadonnées et la configuration de l'image Docker.

Maintenant que vous disposez d'une image Docker personnalisée, vous pouvez passer à l'exécution d'un conteneur basé sur cette image.

Exécution d'un conteneur Docker à partir d'une image personnalisée

Maintenant que vous disposez d'une image Docker personnalisée, vous pouvez exécuter un conteneur basé sur cette image.

Démarrage d'un conteneur Docker

Pour démarrer un nouveau conteneur à partir de l'image my-apache-image, utilisez la commande suivante :

docker run -d -p 80:80 --name my-apache-container my-apache-image

Voici ce que chaque partie de la commande fait :

  • docker run : Démarre un nouveau conteneur Docker.
  • -d : Exécute le conteneur en mode détaché, ce qui signifie qu'il s'exécute en arrière-plan.
  • -p 80:80 : Mappe le port 80 de l'hôte au port 80 dans le conteneur, vous permettant d'accéder au serveur web depuis l'hôte.
  • --name my-apache-container : Attribue le nom "my-apache-container" au conteneur en cours d'exécution.
  • my-apache-image : Le nom de l'image Docker à utiliser pour le conteneur.

Vérification du conteneur en cours d'exécution

Après le démarrage du conteneur, vous pouvez vérifier qu'il est en cours d'exécution à l'aide des commandes suivantes :

## Lister tous les conteneurs en cours d'exécution
docker ps

## Inspecter le conteneur
docker inspect my-apache-container

La commande docker ps vous affichera la liste des conteneurs en cours d'exécution, y compris le my-apache-container que vous venez de démarrer.

La commande docker inspect fournira des informations détaillées sur le conteneur en cours d'exécution, notamment son adresse IP, les mappages de ports et d'autres détails de configuration.

Accès au serveur web

Une fois le conteneur en cours d'exécution, vous pouvez accéder au serveur web Apache en ouvrant un navigateur web et en accédant à http://localhost. Vous devriez voir la page d'accueil par défaut d'Apache.

En comprenant comment exécuter un conteneur Docker basé sur une image personnalisée, vous pouvez maintenant déployer vos propres applications dans un environnement conteneurisé.

Résumé

Dans ce tutoriel, vous avez appris à construire une image Docker personnalisée et à exécuter un conteneur Docker basé sur cette image. Vous avez exploré les étapes de création d'une image Docker, y compris la rédaction d'un Dockerfile et la construction de l'image. De plus, vous avez appris à exécuter un conteneur Docker en utilisant l'image personnalisée, à gérer le cycle de vie du conteneur et à accéder au conteneur en cours d'exécution. Grâce à ces compétences, vous pouvez désormais emballer et déployer vos applications en toute confiance à l'aide de conteneurs Docker.