« Docker commandes » : différence entre les versions

Ligne 143 : Ligne 143 :
=== Commandes de base ===
=== Commandes de base ===


* Liste les conteneurs actifs. Aussi accessible par la commande docker ps [-a]. L'option -a liste aussi l'ensemble des conteneurs inactifs
* 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.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container ls [-a]
docker container ls [-a]
</syntaxhighlight>
</syntaxhighlight>


* Démarre une nouvelle instance d'un conteneur à partir d'une image donnée
* 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.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container run image_de_base
docker container run image_de_base
</syntaxhighlight>
</syntaxhighlight>


* Crée un conteneur basé sur une image donnée sans le démarrer
* 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.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container create image_de_base
docker container create image_de_base
</syntaxhighlight>
</syntaxhighlight>


* Stoppe un conteneur actif
* 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.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container stop nom_conteneur
docker container stop nom_conteneur
</syntaxhighlight>
</syntaxhighlight>


* Démarre un conteneur inactif
* Démarre un conteneur existant qui est actuellement arrêté. Contrairement à docker container run, cette commande ne crée pas de nouveau conteneur.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container start nom_conteneur
docker container start nom_conteneur
</syntaxhighlight>
</syntaxhighlight>


* Attache les entrées et sorties standards locales à un conteneur actif
* 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.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container attach nom_conteneur
docker container attach nom_conteneur
</syntaxhighlight>
</syntaxhighlight>


* Exécute une commande dans un conteneur actif
* 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.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container exec nom_conteneur commande
docker container exec nom_conteneur commande
</syntaxhighlight>
</syntaxhighlight>


* Supprime un conteneur inactif
* 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.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container rm nom_conteneur
docker container rm nom_conteneur
</syntaxhighlight>
</syntaxhighlight>


* Supprime tous les conteneurs inactifs
* 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.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container prune
docker container prune
</syntaxhighlight>
</syntaxhighlight>


* Affiche les logs d'un conteneur actif
* Supprime tous les conteneurs arrêtés sans demander de confirmation.
<syntaxhighlight lang="bash" copy>
docker container prune -f
</syntaxhighlight>
 
* 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.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container logs [-f] nom_conteneur
docker container logs [-f] nom_conteneur
</syntaxhighlight>
</syntaxhighlight>


* Affiche les statistiques d'un conteneur actif
* 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.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container stats nom_conteneur
docker container stats nom_conteneur
</syntaxhighlight>
</syntaxhighlight>


* Affiche les informations détaillées d'un conteneur actif
* 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é.
<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
docker container inspect nom_conteneur
docker container inspect nom_conteneur