Comment créer et exécuter un conteneur Docker « Hello World »

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

Docker est une plateforme de conteneurisation puissante qui a révolutionné la manière dont les développeurs construisent, déploient et gèrent les applications. Dans ce tutoriel, nous vous guiderons à travers le processus de création et d'exécution d'un conteneur Docker simple "Hello World", ce qui constitue un excellent point de départ pour apprendre Docker.

Introduction à 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, comme le code, le runtime, les outils système et les bibliothèques.

Qu'est-ce que Docker ?

Docker est un outil conçu pour simplifier la création, le déploiement et l'exécution d'applications à l'aide de conteneurs. Les conteneurs permettent à un développeur d'emballer une application avec toutes les parties nécessaires, telles que les bibliothèques et autres dépendances, et de les distribuer en un seul paquet.

Architecture Docker

L'architecture Docker se compose des composants clés suivants :

graph TD A[Client Docker] --> B[Daemon Docker] B --> C[Images Docker] B --> D[Conteneurs Docker] B --> E[Registres Docker]
  • Client Docker : L'interface utilisateur pour interagir avec le système Docker.
  • Daemon Docker : Le processus en arrière-plan qui gère les objets Docker, tels que les images, les conteneurs, les réseaux et les volumes.
  • Images Docker : Les modèles pour créer des conteneurs Docker.
  • Conteneurs Docker : Les instances exécutables des images Docker.
  • Registres Docker : Les référentiels pour stocker et distribuer les images Docker.

Avantages de l'utilisation de Docker

  • Cohérence : Docker garantit que les applications fonctionnent de la même manière, quel que soit l'infrastructure sous-jacente.
  • Scalabilité : Les conteneurs Docker peuvent être facilement mis à l'échelle vers le haut ou vers le bas en fonction des besoins en ressources de l'application.
  • Portabilité : Les conteneurs Docker peuvent s'exécuter sur n'importe quelle machine disposant de Docker installé, quel que soit le système d'exploitation sous-jacent.
  • Efficacité : Les conteneurs Docker sont légers et utilisent moins de ressources par rapport aux machines virtuelles traditionnelles.

Démarrer avec Docker

Pour commencer à utiliser Docker, vous devez installer le moteur Docker sur votre système. Vous pouvez télécharger et installer Docker sur le site Web officiel Docker (https://www.docker.com/get-started). Une fois installé, vous pouvez commencer à utiliser Docker pour construire et exécuter vos applications.

Création d'un conteneur Docker "Hello World"

Dans cette section, nous allons apprendre à créer un simple conteneur Docker "Hello World".

Création d'un Dockerfile

Un Dockerfile est un fichier texte contenant les instructions pour construire une image Docker. Créons un Dockerfile simple :

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

## Définir le répertoire de travail à /app
WORKDIR /app

## Copier le script "hello.sh" dans le conteneur
COPY hello.sh .

## Rendre le script exécutable
RUN chmod +x hello.sh

## Définir la commande à exécuter lorsque le conteneur démarre
CMD ["./hello.sh"]

Dans ce Dockerfile, nous :

  1. Utilisons l'image Ubuntu 22.04 officielle comme image de base.
  2. Définissons le répertoire de travail à /app.
  3. Copions le script "hello.sh" dans le conteneur.
  4. Rendons le script exécutable.
  5. Définissons la commande à exécuter au démarrage du conteneur.

Construction de l'image Docker

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

docker build -t hello-world .

Cette commande construira l'image Docker avec l'étiquette "hello-world".

Vérification de l'image

Vous pouvez lister toutes les images Docker sur votre système en exécutant :

docker images

L'image "hello-world" devrait apparaître dans la liste.

Exécution et exploration du conteneur "Hello World"

Maintenant que nous avons construit l'image Docker "hello-world", exécutons et explorons le conteneur.

Exécution du conteneur

Pour exécuter le conteneur "hello-world", utilisez la commande suivante :

docker run hello-world

Cette commande démarrera le conteneur et exécutera la commande définie dans le Dockerfile (c'est-à-dire l'exécution du script "hello.sh").

Vous devriez voir la sortie :

Hello, LabEx!

Exploration du conteneur

Vous pouvez explorer le conteneur en cours d'exécution à l'aide de différentes commandes Docker :

  1. Lister les conteneurs en cours d'exécution :

    docker ps

    Ceci affichera les conteneurs en cours d'exécution sur votre système.

  2. Inspecter le conteneur :

    docker inspect hello-world

    Ceci fournira des informations détaillées sur le conteneur, telles que sa configuration, ses paramètres réseau, et plus encore.

  3. Afficher les journaux du conteneur :

    docker logs hello-world

    Ceci affichera la sortie du script "hello.sh" exécuté dans le conteneur.

  4. Exécuter une commande dans le conteneur en cours d'exécution :

    docker exec -it hello-world /bin/bash

    Ceci lancera une nouvelle session interactive à l'intérieur du conteneur en cours d'exécution, vous permettant d'explorer le système de fichiers du conteneur et d'exécuter des commandes supplémentaires.

Arrêt et suppression du conteneur

Pour arrêter le conteneur en cours d'exécution, utilisez la commande suivante :

docker stop hello-world

Pour supprimer le conteneur, utilisez la commande suivante :

docker rm hello-world

Ceci arrêtera et supprimera le conteneur "hello-world" de votre système.

Résumé

Dans ce tutoriel, vous avez appris à créer et exécuter un conteneur Docker "Hello World". En comprenant les concepts de base des conteneurs Docker, vous avez franchi la première étape vers la maîtrise de cette technologie puissante. Docker vous permet de regrouper vos applications et leurs dépendances en unités portables et autonomes, facilitant ainsi le développement, le déploiement et la gestion de vos logiciels dans différents environnements. Grâce aux connaissances acquises dans ce tutoriel, vous pouvez maintenant explorer des concepts Docker plus avancés et commencer à développer vos propres applications conteneurisées.