Étape 03 / 09 · Windows

Lancer votre premier conteneur.

Lancez, observez et supprimez votre premier conteneur depuis l’interface graphique de Docker Desktop, sans dépendre du terminal pour le parcours principal.

25 minutesDébutantWindows 11Docker Desktop
1. LancerCréer depuis une image
2. ObserverÉtat, ports et journaux
3. NettoyerArrêter puis supprimer

Le modèle mental

Une image devient un conteneur en cours d’exécution

Une image est un modèle en lecture seule. Un conteneur est une instance créée depuis cette image, avec son propre processus, son état et sa configuration réseau.

ImageLe paquet de départ : application, dépendances et configuration par défaut.
ConteneurLe processus isolé lancé à partir de l’image.
À retenir : supprimer un conteneur ne supprime pas automatiquement son image. Les données persistantes seront abordées à l’étape 5.

Avant de commencer

Préparez Docker Desktop

Cette étape utilise les pages Images, Containers et Logs de Docker Desktop. Le terminal reste un complément facultatif pour comprendre ce que fait l’interface.

Interface graphique · Étape 1

Vérifier Docker avec hello-world

Ce premier test confirme que Docker Desktop peut télécharger une image et créer un conteneur sans vous demander de saisir une commande.

01

Ouvrir Docker Desktop

Attendez que l’indication Engine running apparaisse en bas à gauche.

02

Rechercher dans Docker Hub

Ouvrez la vue Docker Hub — pas seulement Images, qui affiche surtout les images déjà présentes — puis recherchez hello-world.

03

Télécharger puis lancer

Cliquez sur Pull, puis sur Run. Le conteneur se termine automatiquement après son message de validation.

04

Contrôler le résultat

Dans Containers, ouvrez le conteneur puis consultez Logs. Le texte Hello from Docker! doit apparaître.

Hello from Docker!Le client communique avec le moteur et le moteur peut lancer une image.
Conteneur arrêtéC’est normal : cette image effectue uniquement un test rapide puis se termine.

Interface graphique · Étape 2

Lancer un serveur Nginx dans Docker Desktop

Cette fois, le conteneur reste actif et affiche une vraie page Web. Les intitulés peuvent légèrement varier selon la version de Docker Desktop.

Pourquoi utiliser Nginx dans cet exercice ?

Nginx est un petit serveur Web très répandu. Il permet de voir immédiatement le résultat dans votre navigateur et d’apprendre plusieurs notions Docker avec un exemple concret :

  • télécharger une image officielle depuis Docker Hub ;
  • lancer un service persistant, contrairement à hello-world qui s’arrête aussitôt ;
  • relier un port du PC au port du conteneur, ici 8080 → 80 ;
  • ouvrir, arrêter, relancer et supprimer un conteneur depuis l’interface graphique ;
  • tester un serveur Web sans installer Nginx directement dans Windows.

Le but n’est donc pas encore de créer un site complet : Nginx sert de démonstration simple pour comprendre comment Docker exécute et expose une application isolée.

Sur votre PCVous ouvrirez http://localhost:8080.
Dans le conteneurNginx écoute sur son port Web 80.
01

Trouver l’image officielle

Ouvrez Docker Hub dans Docker Desktop et recherchez simplement nginx. Sélectionnez nginx — Docker Official Image, puis choisissez le tag alpine. nginx:alpine signifie « image nginx, variante alpine » : ce n’est pas une application séparée.

02

Ouvrir les options de lancement

Cliquez sur Run puis affichez les paramètres facultatifs. Donnez le nom web-demo au conteneur.

03

Configurer le port

Dans la section des ports, indiquez 8080 pour le port hôte et 80 pour le port du conteneur.

04

Démarrer et ouvrir

Lancez le conteneur, ouvrez Containers, puis cliquez sur le lien du port 8080. La page d’accueil Nginx doit s’afficher.

Je ne vois pas Docker Hub ou le tag alpine

Selon la version de Docker Desktop, la vue Docker Hub peut être masquée ou demander une connexion. Ouvrez alors le terminal intégré avec le bouton >_ Terminal en bas à droite, puis exécutez cette unique commande :

Télécharger l’image officielle et son tag alpine
docker pull nginx:alpine

Revenez ensuite dans Images : l’image nginx doit apparaître avec le tag alpine. Vous pouvez alors cliquer sur Run.

À recherchernginx dans Docker Hub.
Résultat attendunginx avec le tag alpine dans Images.
À savoir : l’interface graphique peut publier le port sur le réseau local. Sur un réseau non fiable, arrêtez le conteneur après le test et n’autorisez pas Docker dans le pare-feu sans comprendre la portée de cette autorisation.

Étape 3

Observer le conteneur avant d’agir

Un bon diagnostic commence par l’état, les ports et les journaux. Ces commandes ne modifient pas le conteneur.

Inspection en lecture seule
docker ps
docker ps -a
docker logs web-demo
docker inspect web-demo
docker stats --no-stream web-demo
CommandeCe qu’elle montre
docker psLes conteneurs actuellement démarrés.
docker ps -aTous les conteneurs, y compris ceux qui sont arrêtés.
docker logsLa sortie produite par l’application du conteneur.
docker inspectLa configuration détaillée au format JSON.
docker stats --no-streamUn instantané de l’usage CPU et mémoire.

Action 4

Arrêter puis redémarrer le même conteneur

docker stop demande un arrêt propre. docker start relance ensuite le conteneur existant avec son nom et ses ports inchangés.

Cycle arrêt / démarrage
docker stop web-demo
docker ps -a --filter name=web-demo
docker start web-demo
docker ps --filter name=web-demo
Arrêter n’est pas supprimer : le conteneur existe encore après docker stop et peut être redémarré avec docker start.

Étape 5

Supprimer proprement le conteneur de démonstration

Arrêtez d’abord le conteneur, puis supprimez-le. Cette méthode rend chaque action claire et évite d’utiliser immédiatement une suppression forcée.

Nettoyage contrôlé
docker stop web-demo
docker rm web-demo
docker ps -a --filter name=web-demo
docker image ls nginx
Conteneur absentLe filtre ne doit plus retourner web-demo.
Image encore présentenginx:alpine reste en cache pour un prochain lancement.
Supprimer aussi l’image téléchargée (facultatif)
Seulement si aucun conteneur ne l’utilise
docker image rm nginx:alpine

Si une étape échoue

Les corrections sans improviser

SymptômeCause probableAction prudente
Port déjà utiliséUne autre application écoute sur 8080Remplacer le port hôte par 8081 : 127.0.0.1:8081:80.
Nom déjà utiliséUn ancien web-demo existe encoreExécuter docker ps -a --filter name=web-demo avant de le retirer.
Impossible de joindre le moteurDocker Desktop ou le service Docker est arrêtéDémarrer Docker, puis relancer docker version.
Page locale inaccessibleConteneur arrêté ou démarrage en erreurContrôler docker ps -a puis docker logs web-demo.
Permission refusée sous UbuntuAccès au socket Docker refuséUtiliser sudo ou revoir consciemment le choix du groupe docker.
Évitez --privileged : ce premier serveur n’en a pas besoin. Cette option accorde des droits très étendus et ne constitue pas une solution normale de dépannage.

Validation

Avez-vous compris le cycle de vie ?

1. Quelle commande crée et lance un nouveau conteneur ?

2. Pourquoi préciser 127.0.0.1 devant le port ?

3. Quelle commande affiche la sortie de l’application ?

4. Quelle séquence supprime proprement le conteneur ?

Revoir le module

Fin de l’étape

Votre premier conteneur est maîtrisé.

L’étape 4 montrera comment remplacer une image toute faite par votre propre image construite avec un Dockerfile.