Docker commandes de base

Commandes de base

  • Liste les conteneurs. Par défaut, seuls les conteneurs en cours d'exécution sont affichés. L'option -a permet d'afficher tous les conteneurs, y compris ceux qui sont arrêtés.
docker container ls [-a]
  • Crée puis démarre un nouveau conteneur à partir d'une image donnée. Si l'image n'existe pas localement, Docker tente de la télécharger depuis le registre configuré, par défaut Docker Hub. Chaque exécution de cette commande crée un nouveau conteneur.
docker container run image_de_base
  • Crée un nouveau conteneur à partir d'une image donnée, sans le démarrer. Le conteneur est simplement préparé avec sa configuration et pourra être démarré ensuite avec docker container start.
docker container create image_de_base
  • Arrête proprement un conteneur en cours d'exécution. Docker envoie d'abord un signal d'arrêt au processus principal du conteneur, puis force l'arrêt si le conteneur ne s'arrête pas dans le délai prévu.
docker container stop nom_conteneur
  • Démarre un conteneur existant qui est actuellement arrêté. Contrairement à docker container run, cette commande ne crée pas de nouveau conteneur.
docker container start nom_conteneur
  • Attache le terminal courant aux flux standards d'un conteneur en cours d'exécution, c'est-à-dire à son entrée standard, sa sortie standard et sa sortie d'erreur. Cette commande permet d'interagir avec le processus principal du conteneur si celui-ci accepte une entrée interactive.
docker container attach nom_conteneur
  • Exécute une commande supplémentaire dans un conteneur déjà en cours d'exécution. Cette commande est souvent utilisée pour ouvrir un shell ou lancer une commande de diagnostic dans un conteneur actif.
docker container exec nom_conteneur commande
  • Supprime un ou plusieurs conteneurs arrêtés. Par défaut, Docker refuse de supprimer un conteneur encore en cours d'exécution, sauf si une suppression forcée est demandée avec une option adaptée.
docker container rm nom_conteneur
  • Supprime tous les conteneurs arrêtés. Cette commande ne touche pas aux conteneurs en cours d'exécution. Elle ne supprime pas non plus les images, les volumes ou les réseaux Docker. Elle est utile pour nettoyer les anciens conteneurs créés par des commandes docker container run ou docker compose, lorsqu'ils ne sont plus nécessaires. Docker demande une confirmation avant suppression, sauf si l'option -f est utilisée.
docker container prune
  • Supprime tous les conteneurs arrêtés sans demander de confirmation.
docker container prune -f
  • Affiche les logs d'un conteneur. Cette commande fonctionne aussi bien pour un conteneur en cours d'exécution que pour un conteneur arrêté, tant que ses logs existent encore. L'option -f permet de suivre les nouveaux logs en temps réel.
docker container logs [-f] nom_conteneur
  • Affiche en temps réel les statistiques d'utilisation des ressources d'un ou plusieurs conteneurs, notamment le CPU, la mémoire, le trafic réseau et les entrées/sorties disque.
docker container stats nom_conteneur
  • Affiche les informations détaillées d'un conteneur au format JSON, comme sa configuration, son état, ses variables d'environnement, ses montages, ses réseaux, ses ports et ses paramètres d'exécution. Cette commande fonctionne aussi bien sur un conteneur actif que sur un conteneur arrêté.
docker container inspect nom_conteneur

---

Commandes complémentaires essentielles

  • Télécharge une image depuis un registre Docker, par défaut Docker Hub, sans créer ni démarrer de conteneur.
docker image pull nom_image[:tag]
  • Liste les images Docker présentes localement sur la machine.
docker image ls
  • Construit une image Docker à partir d'un Dockerfile. L'option -t permet de donner un nom et éventuellement un tag à l'image créée.
docker image build -t nom_image[:tag] chemin_du_contexte
  • Supprime une image Docker locale. L'image ne doit pas être utilisée par un conteneur existant, sauf en cas de suppression forcée.
docker image rm nom_image[:tag]
  • Supprime les images inutilisées. Par défaut, cette commande supprime principalement les images intermédiaires ou sans tag. Avec l'option -a, elle supprime toutes les images non utilisées par au moins un conteneur.
docker image prune [-a]
  • Liste les volumes Docker présents localement. Les volumes servent généralement à conserver des données persistantes indépendamment du cycle de vie des conteneurs.
docker volume ls
  • Crée un volume Docker nommé.
docker volume create nom_volume
  • Supprime un volume Docker. Le volume ne doit pas être utilisé par un conteneur existant.
docker volume rm nom_volume
  • Supprime tous les volumes Docker inutilisés, c'est-à-dire ceux qui ne sont attachés à aucun conteneur. Attention, cette commande peut supprimer des données persistantes.
docker volume prune
  • Liste les réseaux Docker disponibles localement.
docker network ls
  • Crée un réseau Docker. Cette commande est utile pour permettre à plusieurs conteneurs de communiquer entre eux sur un réseau dédié.
docker network create nom_reseau
  • Connecte un conteneur existant à un réseau Docker.
docker network connect nom_reseau nom_conteneur
  • Déconnecte un conteneur d'un réseau Docker.
docker network disconnect nom_reseau nom_conteneur
  • Supprime un réseau Docker. Le réseau ne doit plus être utilisé par des conteneurs.
docker network rm nom_reseau
  • Supprime les réseaux Docker inutilisés, c'est-à-dire ceux qui ne sont utilisés par aucun conteneur.
docker network prune
  • Copie un fichier ou un dossier depuis la machine locale vers un conteneur, ou depuis un conteneur vers la machine locale.
docker container cp source destination
  • Affiche les processus en cours d'exécution à l'intérieur d'un conteneur.
docker container top nom_conteneur
  • Affiche les ports exposés par un conteneur et leurs correspondances éventuelles avec les ports de la machine hôte.
docker container port nom_conteneur
  • Renomme un conteneur existant.
docker container rename ancien_nom nouveau_nom
  • Met en pause tous les processus d'un conteneur en cours d'exécution.
docker container pause nom_conteneur
  • Reprend l'exécution d'un conteneur précédemment mis en pause.
docker container unpause nom_conteneur
  • Affiche l'espace disque utilisé par Docker, notamment les images, les conteneurs, les volumes et le cache de build.
docker system df
  • Supprime les ressources Docker inutilisées, notamment les conteneurs arrêtés, les réseaux inutilisés, les images sans tag inutilisées et le cache de build. Cette commande ne supprime pas les volumes par défaut.
docker system prune
  • Supprime les ressources Docker inutilisées sans demander de confirmation.
docker system prune -f
  • Supprime les ressources Docker inutilisées ainsi que les volumes inutilisés. Attention, cette commande peut supprimer des données persistantes si elles sont stockées dans des volumes non attachés à un conteneur.
docker system prune --volumes
  • Affiche la version du client Docker et du serveur Docker.
docker version
  • Affiche des informations détaillées sur l'installation Docker, comme le nombre de conteneurs, le nombre d'images, le système de stockage utilisé, les plugins et les paramètres du démon Docker.
docker info