Qu'est-ce qu'un conteneur ?
Explication
Imaginez que vous développez une super application web qui a trois composants principaux : une interface React, une API Python et une base de données PostgreSQL. Si vous vouliez travailler sur ce projet, vous devriez installer Node, Python et PostgreSQL.
Comment vous assurez-vous d'avoir les mêmes versions que les autres développeurs de votre équipe ? Ou que votre système de CI/CD ? Ou ce qui est utilisé en production ?
Comment vous assurez-vous que la version de Python (ou de Node ou de la base de données) dont votre application a besoin n'est pas affectée par ce qui est déjà sur votre machine ? Comment gérez-vous les conflits potentiels ?
Entrez les conteneurs !
Qu'est-ce qu'un conteneur ? En termes simples, les conteneurs sont des processus isolés pour chacun des composants de votre application. Chaque composant - l'application frontend React, le moteur d'API Python et la base de données - s'exécute dans son propre environnement isolé, complètement isolé de tout le reste sur votre machine.
Voici ce qui les rend géniaux. Les conteneurs sont :
- Autonomes. Chaque conteneur a tout ce dont il a besoin pour fonctionner sans dépendre de dépendances pré-installées sur la machine hôte.
- Isolés. Comme les conteneurs sont exécutés de manière isolée, ils ont une influence minimale sur l'hôte et les autres conteneurs, ce qui augmente la sécurité de vos applications.
- Indépendants. Chaque conteneur est géré indépendamment. La suppression d'un conteneur n'affectera aucun autre.
- Portables. Les conteneurs peuvent fonctionner n'importe où ! Le conteneur qui s'exécute sur votre machine de développement fonctionnera de la même manière dans un centre de données ou n'importe où dans le cloud !
Conteneurs versus machines virtuelles (VM)
Sans entrer dans les détails, une VM est un système d'exploitation entier avec son propre noyau, ses pilotes matériels, ses programmes et ses applications. Démarrer une VM uniquement pour isoler une seule application représente une surcharge importante.
Un conteneur est simplement un processus isolé avec tous les fichiers dont il a besoin pour s'exécuter. Si vous exécutez plusieurs conteneurs, ils partagent tous le même noyau, ce qui vous permet d'exécuter plus d'applications sur moins d'infrastructure.
Utiliser les VM et les conteneurs ensemble
Assez souvent, vous verrez des conteneurs et des VM utilisés ensemble. Par exemple, dans un environnement cloud, les machines provisionnées sont généralement des VM. Cependant, au lieu de provisionner une machine pour exécuter une seule application, une VM avec un runtime de conteneur peut exécuter plusieurs applications conteneurisées, augmentant ainsi l'utilisation des ressources et réduisant les coûts.
Essayez-le
Dans cette prise en main, vous verrez comment exécuter un conteneur Docker à l'aide de l'interface graphique de Docker Desktop.
Suivez les instructions suivantes pour exécuter un conteneur.
-
Ouvrez Docker Desktop et sélectionnez le champ Rechercher dans la barre de navigation supérieure.
-
Spécifiez
welcome-to-docker
dans le champ de recherche, puis sélectionnez le bouton Pull. -
Une fois l'image téléchargée avec succès, sélectionnez le bouton Exécuter.
-
Développez les Paramètres optionnels.
-
Dans le Nom du conteneur, spécifiez
welcome-to-docker
. -
Dans le Port de l'hôte, spécifiez
8080
. -
Sélectionnez Exécuter pour démarrer votre conteneur.
Félicitations ! Vous venez de lancer votre premier conteneur ! 🎉
Affichez votre conteneur
Vous pouvez afficher tous vos conteneurs en allant à la vue Conteneurs du tableau de bord de Docker Desktop.


Ce conteneur exécute un serveur web qui affiche un site web simple. Lorsque vous travaillez sur des projets plus complexes, vous exécuterez différentes parties dans différents conteneurs. Par exemple, vous pourriez exécuter un conteneur différent pour le frontend, le backend et la base de données.
Accéder à l'interface
Lorsque vous avez lancé le conteneur, vous avez exposé l'un des ports du conteneur sur votre machine. Considérez cela comme la création d'une configuration pour vous permettre de vous connecter à travers l'environnement isolé du conteneur.
Pour ce conteneur, l'interface est accessible sur le port 8080
. Pour ouvrir le site web, sélectionnez le lien dans la colonne Port(s) de votre conteneur ou visitez http://localhost:8080 dans votre navigateur.


Explorez votre conteneur
Docker Desktop vous permet d'explorer et d'interagir avec différents aspects de votre conteneur. Essayez-le vous-même.
-
Allez à la vue Conteneurs dans le tableau de bord de Docker Desktop.
-
Sélectionnez votre conteneur.
-
Sélectionnez l'onglet Fichiers pour explorer le système de fichiers isolé de votre conteneur.
Arrêtez votre conteneur
Le conteneur docker/welcome-to-docker
continue de s'exécuter jusqu'à ce que vous l'arrêtiez.
-
Allez à la vue Conteneurs dans le tableau de bord de Docker Desktop.
-
Localisez le conteneur que vous souhaitez arrêter.
-
Sélectionnez l'action Arrêter dans la colonne Actions.
Suivez les instructions pour exécuter un conteneur à l'aide de la CLI :
-
Ouvrez votre terminal CLI et démarrez un conteneur en utilisant la commande
docker run
:$ docker run -d -p 8080:80 docker/welcome-to-docker
La sortie de cette commande est l'ID complet du conteneur.
Félicitations ! Vous venez de lancer votre premier conteneur ! 🎉
Affichez vos conteneurs en cours d'exécution
Vous pouvez vérifier si le conteneur est en cours d'exécution en utilisant la commande
docker ps
:
docker ps
Vous verrez une sortie comme la suivante :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1f7a4bb3a27 docker/welcome-to-docker "/docker-entrypoint.…" 11 seconds ago Up 11 seconds 0.0.0.0:8080->80/tcp gracious_keldysh
Ce conteneur exécute un serveur web qui affiche un site web simple. Lorsque vous travaillez sur des projets plus complexes, vous exécuterez différentes parties dans différents conteneurs. Par exemple, un conteneur différent pour le frontend
, le backend
et la base de données
.
TipLa commande
docker ps
ne vous montrera que les conteneurs en cours d'exécution. Pour voir les conteneurs arrêtés, ajoutez l'indicateur-a
pour lister tous les conteneurs :docker ps -a
Accéder à l'interface
Lorsque vous avez lancé le conteneur, vous avez exposé l'un des ports du conteneur sur votre machine. Considérez cela comme la création d'une configuration pour vous permettre de vous connecter à travers l'environnement isolé du conteneur.
Pour ce conteneur, l'interface est accessible sur le port 8080
. Pour ouvrir le site web, sélectionnez le lien dans la colonne Port(s) de votre conteneur ou visitez http://localhost:8080 dans votre navigateur.


Arrêtez votre conteneur
Le conteneur docker/welcome-to-docker
continue de s'exécuter jusqu'à ce que vous l'arrêtiez. Vous pouvez arrêter un conteneur en utilisant la commande docker stop
.
-
Exécutez
docker ps
pour obtenir l'ID du conteneur -
Fournissez l'ID ou le nom du conteneur à la commande
docker stop
:docker stop <the-container-id>
TipLorsque vous référencez des conteneurs par ID, vous n'avez pas besoin de fournir l'ID complet. Vous devez seulement fournir une partie suffisante de l'ID pour le rendre unique. Par exemple, le conteneur précédent pourrait être arrêté en exécutant la commande suivante :
docker stop a1f
Ressources supplémentaires
Les liens suivants fournissent des conseils supplémentaires sur les conteneurs :
Prochaines étapes
Maintenant que vous avez appris les bases d'un conteneur Docker, il est temps d'en apprendre davantage sur les images Docker.