Aller au contenu principal

Exemples simples

Lancer un conteneur Docker simplement avec la commande docker run

Notions théoriques​

Rappels
  • Docker est un outil qui permet de créer, déployer et exécuter des applications dans des conteneurs.
  • Un conteneur est une unité légère, portable et autonome qui contient tout ce dont une application a besoin pour fonctionner : code, bibliothèques, dépendances, etc.
astuce

La commande docker run est l’une des commandes les plus utilisées avec Docker.

Elle permet de créer et de lancer un conteneur à partir d’une image.

Voici la syntaxe générale de la commande docker run :

docker run [options] image [command] [args]

Composants de la commande​

  • image : Nom de l’image à utiliser (ex : nginx, ubuntu, python, etc.)
  • command : (optionnel) Commande à exécuter dans le conteneur
  • args : (optionnel) Arguments de la commande à exécuter dans le conteneur

Options courantes de docker run​

  • -d : Lance le conteneur en arrière-plan (mode détaché)
  • -it : Combine -i (mode interactif) et -t (allocation d’un pseudo-terminal)
  • --name : Donne un nom personnalisé au conteneur
  • -p : Redirige un port du conteneur vers un port de la machine hôte (-p 8080:80)
  • -v : Monte un volume (dossier partagé entre l’hôte et le conteneur)
  • --rm : Supprime le conteneur une fois arrêté
  • --env ou -e : Définit une variable d’environnement dans le conteneur

Exécution d’un conteneur​

Quand on exécute docker run, Docker :

  1. Cherche l’image localement. Si elle n’existe pas, il la télécharge depuis Docker Hub.
  2. Crée un conteneur à partir de cette image.
  3. Exécute la commande (par défaut ou personnalisée).
  4. Affiche le résultat ou garde le conteneur actif selon les options.

Exemples d’usage​

  • Lancer un conteneur Ubuntu en mode interactif :

    docker run -it ubuntu bash
  • Lancer un serveur Web Nginx accessible sur le port 8080 :

    docker run -d -p 8080:80 nginx
  • Lancer un script Python dans un conteneur :

    docker run --rm python:3.11 python -c "print('Hello Docker')"

Cas d’usage typiques​

  • Tester une application sans l’installer localement
  • Isoler un environnement d’exécution
  • Lancer un serveur temporaire
  • Automatiser des tâches dans un environnement reproductible

Exemple pratique​

Il est possible de lancer un conteneur Web simple basé sur l’image nginx et de le rendre accessible sur un navigateur.

Étapes :​

  1. Tirer l’image officielle nginx depuis Docker Hub :

    docker pull nginx
  2. Lancer un conteneur Nginx en arrière-plan, en exposant le port 8080 :

    docker run -d -p 8080:80 --name monsite nginx
  3. Vérifier que le conteneur tourne :

    docker ps
  4. Accéder à http://localhost:8080 dans un navigateur : une page Nginx doit s’afficher.

  5. Arrêter le conteneur :

    docker stop monsite
  6. Supprimer le conteneur :

    docker rm monsite
  7. Supprimer l’image (optionnel) :

    docker rmi nginx

Test de mémorisation/compréhension​


Quelle option permet de lancer un conteneur en arrière-plan ?


Quelle est la bonne commande pour lancer un conteneur Ubuntu en mode interactif ?


Que fait l’option --rm ?


Quelle commande permet de lister les conteneurs en cours d'exécution ?


Quel est l’effet de la commande : docker run -p 8080:80 nginx ?


À quoi sert l’option -v dans docker run ?


Quelle commande supprime un conteneur arrêté ?


Quel est le rôle de Docker Hub ?


Quelle commande exécute un script Python dans un conteneur temporaire ?


Que fait la commande docker rmi nginx ?