Leçon 2 ⏱️ 25 min ✨ Aperçu gratuit

Les commandes Docker essentielles

Les commandes Docker essentielles

Cette leçon couvre toutes les commandes Docker que vous utiliserez quotidiennement.

Vue d’ensemble des commandes

CatégorieCommandesUsage
Imagespull, build, push, images, rmiGérer les images
Conteneursrun, start, stop, rm, ps, execGérer les conteneurs
Réseaunetwork create, connect, lsConnecter les conteneurs
Volumesvolume create, ls, rmPersister les données

Gestion des images

Télécharger une image

# Télécharger Node.js Alpine
docker pull node:20-alpine

# Télécharger nginx
docker pull nginx:1.25

# Télécharger PostgreSQL
docker pull postgres:16

Lister les images

docker images
docker image ls
docker images -q

Supprimer une image

docker rmi node:20-alpine
docker rmi -f image_id
docker image prune -a

Gestion des conteneurs

Exécuter un conteneur

# Lancer nginx en arrière-plan
docker run -d -p 8080:80 --name mon-nginx nginx:1.25

# Lancer interactif
docker run -it ubuntu:22.04 bash

# Avec variables d'environnement
docker run -d -e POSTGRES_PASSWORD=secret postgres:16

# Avec un volume
docker run -d -v mes-donnees:/data postgres:16

Options importantes :

OptionDescription
-dMode détaché (arrière-plan)
-pMapper un port (host:container)
—nameNommer le conteneur
-eVariable d’environnement
-vMonter un volume
-itMode interactif + TTY
—rmSupprimer après arrêt

Lister les conteneurs

# En cours d'exécution
docker ps

# Tous (y compris arrêtés)
docker ps -a

# Uniquement les IDs
docker ps -q

Cycle de vie

docker stop mon-nginx
docker start mon-nginx
docker restart mon-nginx
docker kill mon-nginx
docker rm mon-nginx
docker rm -f mon-nginx

Nettoyer

docker container prune
docker rm -f $(docker ps -aq)

Inspecter et débugger

Logs

docker logs mon-nginx
docker logs -f mon-nginx
docker logs --tail 100 mon-nginx

Exécuter une commande

docker exec -it mon-nginx bash
docker exec mon-nginx cat /etc/nginx/nginx.conf

Inspecter

docker inspect mon-nginx

Ressources

docker stats
docker stats --no-stream

Réseaux

docker network ls
docker network create mon-reseau
docker run -d --network mon-reseau --name api nginx
docker network connect mon-reseau mon-nginx
docker network rm mon-reseau

Volumes

docker volume ls
docker volume create mes-donnees
docker volume inspect mes-donnees
docker volume rm mes-donnees
docker volume prune

Utilisation

# Volume nommé
docker run -d -v mes-donnees:/var/lib/mysql mysql:8

# Bind mount
docker run -d -v $(pwd)/app:/usr/share/nginx/html nginx

Nettoyage complet

docker system prune -a --volumes
docker system df

Exercice pratique

# 1. Lancer nginx
docker run -d -p 8080:80 --name web nginx:alpine

# 2. Vérifier
docker ps

# 3. Voir les logs
docker logs web

# 4. Ouvrir http://localhost:8080

# 5. Nettoyer
docker rm -f web

Points clés

  • docker run crée ET démarre un conteneur
  • docker exec exécute des commandes dans un conteneur
  • Les volumes permettent de persister les données
  • docker logs -f pour suivre les logs en temps réel
  • docker system prune pour nettoyer l’espace disque

📎 Ressources