En bref : La commande pour lancer Docker la plus utilisée est docker run [image]. Elle crée et démarre un conteneur en une seule instruction. Pour relancer un conteneur existant, on utilise docker start [nom_ou_id]. Cet article détaille les options indispensables (-d, -it, -p, –name, -v) et les erreurs courantes à éviter.
Maitriser la commande pour lancer Docker, c’est la première compétence concrète à acquérir après l’installation de la plateforme. Qu’on travaille sur un projet d’infrastructure numérique, un pipeline CI/CD ou un environnement de test isolé, Docker simplifie radicalement la gestion des dépendances logicielles. Encore faut-il comprendre ce que font ces instructions, leurs options et leurs limites réelles.

Comprendre docker run : la commande principale pour lancer Docker
docker run est la commande incontournable pour lancer Docker. Elle combine deux opérations en une : la création du conteneur à partir d’une image, puis son démarrage immédiat. Si l’image n’est pas présente localement, Docker la télécharge automatiquement depuis Docker Hub avant d’exécuter le conteneur.
La syntaxe de base est la suivante :
docker run [OPTIONS] IMAGE [COMMANDE] [ARGUMENTS]
Exemple minimal pour lancer un conteneur Ubuntu :
docker run ubuntu
Ce conteneur démarre, exécute son processus par défaut, puis s’arrête immédiatement. Pour interagir avec lui ou le maintenir actif, des options sont nécessaires.
Les options indispensables de la commande pour lancer Docker
L’essentiel de la puissance de la commande pour lancer Docker réside dans ses options. Voici les plus utilisées en environnement professionnel :
| Option | Signification | Exemple |
|---|---|---|
-d | Mode détaché (arrière-plan) | docker run -d nginx |
-it | Mode interactif avec terminal | docker run -it ubuntu bash |
-p | Mapping de port hôte:conteneur | docker run -p 8080:80 nginx |
--name | Nommer le conteneur | docker run --name monapp nginx |
-v | Monter un volume | docker run -v /data:/app/data nginx |
-e | Définir une variable d’environnement | docker run -e ENV=prod nginx |
--rm | Supprimer le conteneur à l’arrêt | docker run --rm ubuntu echo "test" |
Commande pour lancer Docker en mode détaché avec -d
L’option -d est la plus utilisée en production. Elle démarre le conteneur en arrière-plan et libère immédiatement le terminal. Docker affiche l’identifiant complet du conteneur lancé.
docker run -d --name monserveur -p 8080:80 nginx
Cette instruction lance un serveur Nginx accessible sur le port 8080 de la machine hôte, tourne en fond de tâche et s’identifie sous le nom « monserveur ». C’est le format de commande pour lancer Docker le plus courant en contexte serveur.
Commande pour lancer Docker en mode interactif avec -it
Pour explorer une image, déboguer ou exécuter des commandes dans le conteneur, -it ouvre un pseudo-terminal interactif. Le flag -i maintient STDIN ouvert, -t alloue un pseudo-TTY.
docker run -it ubuntu bash
On se retrouve directement dans un shell bash à l’intérieur du conteneur Ubuntu. Pour quitter, il suffit de taper exit. Cette commande pour lancer Docker en mode interactif est essentielle pour le débogage et l’exploration d’images.
docker start vs docker run : quelle différence ?
C’est une confusion fréquente chez les débutants. docker run crée un nouveau conteneur à partir d’une image, tandis que docker start redémarre un conteneur déjà existant qui a été arrêté. On n’utilise pas la commande pour lancer Docker deux fois sur le même conteneur, sauf si l’on veut en créer un second exemplaire.
| Commande | Quand l’utiliser | Crée un nouveau conteneur ? |
|---|---|---|
docker run | Première utilisation d’une image | Oui |
docker start | Relancer un conteneur arrêté | Non |
docker restart | Arrêter puis redémarrer un conteneur actif | Non |
Pour relancer le conteneur « monserveur » créé précédemment :
docker start monserveur
Gérer et surveiller ses conteneurs après le lancement
Une fois les conteneurs démarrés, quelques commandes permettent de garder la maitrise de l’environnement Docker.
Lister les conteneurs en cours d’exécution
docker ps
Pour voir également les conteneurs arrêtés :
docker ps -a
Exécuter une commande dans un conteneur actif
docker exec permet d’ouvrir un shell ou d’exécuter une instruction dans un conteneur déjà en cours d’exécution, sans le redémarrer. C’est différent de la commande pour lancer Docker : on interagit avec un processus existant, pas avec une nouvelle instance.
docker exec -it monserveur bash
Arrêter un conteneur
docker stop monserveur
Docker envoie d’abord un signal SIGTERM pour permettre un arrêt propre, puis SIGKILL après un délai de 10 secondes si le conteneur ne répond pas.
Lancer plusieurs conteneurs avec Docker Compose
Dès que l’application implique plusieurs services (base de données, backend, reverse proxy), docker compose devient l’outil adapté. Il permet de décrire l’ensemble des conteneurs dans un fichier docker-compose.yml et de les lancer en une seule commande pour lancer Docker de manière orchestrée.
docker compose up -d
Pour arrêter l’ensemble des services :
docker compose down
Docker Compose gère automatiquement les dépendances entre services, les réseaux internes et les volumes persistants, ce qui en fait la solution de référence pour les environnements multi-conteneurs complexes.
Erreurs courantes lors du lancement de Docker
Connaitre les erreurs fréquentes permet de les résoudre rapidement sans passer des heures à déboguer. Voici les situations les plus souvent rencontrées lorsqu’on utilise une commande pour lancer Docker :
- Port déjà utilisé :
Error: bind: address already in use. Un autre processus occupe le port. Modifier le port hôte dans l’option-pou libérer le port concerné. - Image introuvable :
Unable to find image 'xxx' locally. Docker tente de la télécharger depuis Docker Hub. Vérifier l’orthographe du nom d’image et la connexion réseau. - Permission denied sur le socket Docker : l’utilisateur courant n’est pas dans le groupe
docker. Exécutersudo usermod -aG docker $USERpuis se reconnecter. - Conteneur qui s’arrête immédiatement : le processus principal du conteneur s’est terminé. Utiliser
-itou définir unENTRYPOINTadapté dans le Dockerfile. - Conflit de nom :
docker: Error response from daemon: Conflict. Un conteneur portant ce nom existe déjà. Utiliserdocker rm [nom]avant de relancer, ou choisir un autre identifiant.
Récapitulatif des commandes pour lancer Docker
| Objectif | Commande |
|---|---|
| Lancer un conteneur simple | docker run [image] |
| Lancer en arrière-plan | docker run -d [image] |
| Lancer en mode interactif | docker run -it [image] bash |
| Lancer avec un port exposé | docker run -p 8080:80 [image] |
| Lancer avec un nom personnalisé | docker run --name [nom] [image] |
| Relancer un conteneur arrêté | docker start [nom_ou_id] |
| Lancer plusieurs services | docker compose up -d |
FAQ — commande pour lancer Docker
Quelle est la différence entre docker run et docker start ?
docker run crée un nouveau conteneur à partir d’une image et le démarre. docker start redémarre un conteneur déjà existant mais actuellement arrêté. On utilise docker run la première fois, puis docker start pour les relances suivantes.
Comment lancer Docker automatiquement au démarrage du système ?
Il faut ajouter l’option --restart unless-stopped lors du docker run. Le conteneur redémarrera automatiquement après un reboot, sauf s’il a été arrêté manuellement.
docker run -d --restart unless-stopped nginx
Comment vérifier qu’un conteneur Docker est bien lancé ?
La commande docker ps liste tous les conteneurs en cours d’exécution avec leur statut, leurs ports exposés et leur nom. Si un conteneur n’apparait pas, il est probablement arrêté : docker ps -a liste tous les conteneurs, actifs et inactifs.
Peut-on lancer plusieurs conteneurs en même temps ?
Oui. Chaque appel à docker run crée et démarre un conteneur indépendant. Pour orchestrer plusieurs services ensemble, Docker Compose est la solution recommandée : un seul fichier docker-compose.yml et une commande docker compose up -d suffisent à démarrer l’ensemble de la stack.
Que se passe-t-il si l’image n’existe pas localement ?
Docker la télécharge automatiquement depuis Docker Hub avant de lancer le conteneur. Si l’image n’existe pas sur Docker Hub ou si l’orthographe est incorrecte, Docker retourne une erreur Unable to find image.
Conclusion
La commande pour lancer Docker se résume à docker run [image] dans sa forme la plus basique, mais c’est la combinaison des options (-d, -it, -p, --name, -v) qui en fait un outil véritablement puissant pour les environnements de développement comme de production. La distinction entre docker run, docker start et docker exec est fondamentale pour ne pas multiplier les conteneurs inutiles et maintenir un environnement propre. Pour les projets multi-services, Docker Compose reste l’approche la plus robuste et la mieux adaptée à une utilisation professionnelle.