DOCKER - 6 Commandes et configuration

Toutes les interactions avec Docker passent par le client en ligne de commande docker. Cette leçon présente les commandes fondamentales pour lancer, lister, arrêter et inspecter des conteneurs. Maîtriser ces quelques commandes suffit déjà pour utiliser Docker au quotidien.

Lancer et lister des conteneurs

La commande centrale est docker run. Elle télécharge l'image si nécessaire, crée un conteneur et le démarre. Quelques options reviennent constamment :

docker run nginx                  # lance nginx au premier plan
docker run -d nginx               # -d : mode détaché (arrière-plan)
docker run -d -p 8080:80 nginx    # -p : publie le port 80 du conteneur sur 8080 de l'hôte
docker run --name web nginx       # --name : donne un nom lisible au conteneur

Pour voir ce qui tourne, on utilise docker ps. Sans option, il affiche uniquement les conteneurs en cours d'exécution ; avec -a, il liste aussi les conteneurs arrêtés :

docker ps        # conteneurs actifs
docker ps -a     # tous les conteneurs, y compris arrêtés

Arrêter, supprimer et inspecter

Un conteneur a un cycle de vie : on peut le mettre en pause, l'arrêter puis le supprimer. On le désigne par son nom ou par les premiers caractères de son identifiant :

docker stop web         # arrête proprement le conteneur "web"
docker start web        # le redémarre
docker rm web           # supprime le conteneur (il doit être arrêté)
docker rm -f web        # force la suppression même s'il tourne

Pour le diagnostic, deux commandes sont indispensables. docker logs affiche la sortie standard du conteneur, et docker exec permet d'exécuter une commande à l'intérieur d'un conteneur en marche, par exemple ouvrir un shell interactif :

docker logs web              # affiche les logs
docker logs -f web           # suit les logs en temps réel
docker exec -it web bash     # ouvre un shell dans le conteneur

Avec ce socle (run, ps, stop, rm, logs, exec), vous disposez de tout le nécessaire pour gérer des conteneurs. Les sections suivantes du cours approfondiront la création d'images, les réseaux et les volumes.

En résumé

Cette leçon présente les éléments fondamentaux pour débuter avec Docker. Elle explique comment vérifier que Docker fonctionne correctement (commandes `docker version` et `docker info`), comment le client Docker communique avec le moteur (serveur), et la structure des commandes Docker qui a évolué entre l'ancien format et le nouveau système de management commands. Les concepts de base des conteneurs sont également introduits comme première étape avant d'apprendre à les exécuter et les gérer.

Points clés

  • Utilisez `docker version` pour vérifier que le client peut communiquer avec le moteur Docker et que vous avez la bonne version installée
  • La commande `docker info` affiche une configuration détaillée du moteur, incluant le nombre de conteneurs en cours d'exécution et les images stockées
  • Docker utilise deux formats de commandes : l'ancien modèle (`docker <commande> <options>`) et le nouveau système de management commands (`docker <management-command> <subcommande>`)
  • Le moteur Docker s'exécute en arrière-plan : c'est un service sous Windows et un démon sous Mac et Linux
  • Les conteneurs sont les blocs de construction fondamentaux de Docker, et leur compréhension est essentielle avant de passer à des concepts plus avancés

Questions fréquentes

Quelle est la différence entre `docker version` et `docker info` ?

`docker version` affiche uniquement les numéros de version du client et du moteur pour vérifier qu'ils peuvent communiquer. `docker info` fournit une liste complète des paramètres de configuration du moteur, comme le nombre de conteneurs actifs et les images stockées.

Qu'est-ce qu'un management command dans Docker ?

Un management command est un format de ligne de commande introduit par Docker pour organiser les nombreuses commandes disponibles. Au lieu d'une longue liste plate, les commandes sont structurées comme `docker <management-command> <subcommande>`, rendant l'interface plus facile à naviguer.

Pourquoi Docker utilise-t-il à la fois l'ancien et le nouveau format de commandes ?

Docker maintient les deux formats pour assurer la rétrocompatibilité avec les scripts et systèmes existants. Les anciennes commandes (plus de 4 ans) fonctionnent toujours, tandis que les nouvelles commandes utilisent le format des management commands plus organisé.