Builders Academy
Docker — Conteneurisation des Applications
1 of 3

Chapitre 1 · Leçon 1

Concepts Docker

Images, conteneurs, layers et registres

Section 1

Image vs Conteneur

Step 1

La différence fondamentale

Une image Docker est un template en lecture seule (comme une classe en OOP). Un conteneur est une instance en cours d'exécution de cette image (comme un objet). Plusieurs conteneurs peuvent partager la même image.

snippet.bash

bash
1# Télécharger une image depuis Docker Hub
2docker pull node:20-alpine
3
4# Lister les images locales
5docker images
6# REPOSITORY   TAG         IMAGE ID       SIZE
7# node         20-alpine   abc123def456   135MB
8
9# Lancer un conteneur depuis une image
10docker run node:20-alpine node --version
11# v20.11.0
12
13# Lancer en mode interactif
14docker run -it node:20-alpine sh
15
16# Lancer en arrière-plan (detached)
17docker run -d --name mon-api -p 3000:3000 mon-image:latest
18
19# Lister les conteneurs en cours
20docker ps
21docker ps -a   # tous, incluant les arrêtés
22
23# Inspecter un conteneur
24docker inspect mon-api
25docker logs mon-api -f     # voir les logs en temps réel
26docker stats               # ressources consommées
27
28# Arrêter / supprimer
29docker stop mon-api
30docker rm mon-api
31docker rmi node:20-alpine  # supprimer une image

Step 2

Volumes et réseaux

Les volumes permettent de persister les données au-delà de la vie d'un conteneur. Les réseaux permettent à plusieurs conteneurs de communiquer.

snippet.bash

bash
1# Télécharger une image depuis Docker Hub
2docker pull node:20-alpine
3
4# Lister les images locales
5docker images
6# REPOSITORY   TAG         IMAGE ID       SIZE
7# node         20-alpine   abc123def456   135MB
8
9# Lancer un conteneur depuis une image
10docker run node:20-alpine node --version
11# v20.11.0
12
13# Lancer en mode interactif
14docker run -it node:20-alpine sh
15
16# Lancer en arrière-plan (detached)
17docker run -d --name mon-api -p 3000:3000 mon-image:latest
18
19# Lister les conteneurs en cours
20docker ps
21docker ps -a   # tous, incluant les arrêtés
22
23# Inspecter un conteneur
24docker inspect mon-api
25docker logs mon-api -f     # voir les logs en temps réel
26docker stats               # ressources consommées
27
28# Arrêter / supprimer
29docker stop mon-api
30docker rm mon-api
31docker rmi node:20-alpine  # supprimer une image

Topics and skills covered

  • Docker
  • Conteneurs
  • Images
  • Registry