🔝 Retour au Sommaire
Félicitations ! Docker est maintenant installé sur votre système. Mais avant de vous lancer dans la création de conteneurs, quelques ajustements de configuration vous permettront d'optimiser votre expérience et d'éviter des frustrations futures.
Cette configuration post-installation ne prend que quelques minutes mais fait toute la différence. Vous allez configurer Docker pour qu'il démarre automatiquement, optimiser l'utilisation des ressources, et personnaliser certains paramètres selon vos besoins.
Ne vous inquiétez pas : toutes ces configurations sont optionnelles et réversibles. Vous pouvez les ajuster à tout moment.
Les configurations à effectuer varient selon votre système d'exploitation. Rendez-vous directement à la section qui vous concerne :
Par défaut, le service Docker ne démarre pas toujours automatiquement au démarrage de votre système. Pour activer le démarrage automatique :
# Activer Docker au démarrage
sudo systemctl enable docker
# Démarrer Docker immédiatement
sudo systemctl start docker
# Vérifier le statut
sudo systemctl status dockerVous devriez voir active (running) dans le statut.
Pourquoi c'est important ? Sans cette configuration, vous devrez démarrer Docker manuellement à chaque redémarrage de votre machine, ce qui peut être fastidieux.
Par défaut sur Linux, toutes les commandes Docker nécessitent sudo. C'est pénible à la longue. Voici comment configurer Docker pour l'utiliser sans sudo :
# Créer le groupe docker (si pas déjà existant)
sudo groupadd docker
# Ajouter votre utilisateur au groupe docker
sudo usermod -aG docker $USER
# Activer les changements de groupe sans déconnexion
newgrp dockerTester la configuration :
# Cette commande devrait fonctionner sans sudo
docker run hello-worldSi cela fonctionne, vous n'avez plus besoin de taper sudo avant chaque commande Docker !
Note importante sur la sécurité :
Ajouter un utilisateur au groupe docker lui donne des privilèges équivalents à root. Ne faites cela que pour des utilisateurs de confiance sur votre système. Sur un serveur de production, gardez plutôt l'utilisation de sudo.
Si vous rencontrez des problèmes de permissions :
# Corriger les permissions du socket Docker
sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock Sur Linux, Docker utilise directement les ressources du système hôte. Cependant, vous pouvez limiter les ressources qu'un conteneur peut consommer.
Vérifier les ressources disponibles :
# Voir les informations système
docker info | grep -i memory
docker info | grep -i cpu Ces limites se configurent généralement au niveau de chaque conteneur (nous verrons cela plus tard) plutôt qu'au niveau global.
Docker stocke ses données (images, conteneurs, volumes) dans /var/lib/docker par défaut. Si vous manquez d'espace ou préférez un autre emplacement :
Vérifier l'espace disque utilisé :
# Voir l'espace utilisé par Docker
docker system dfChanger l'emplacement de stockage (si nécessaire) :
- Arrêter Docker :
sudo systemctl stop docker- Éditer le fichier de configuration :
sudo nano /etc/docker/daemon.json- Ajouter cette configuration :
{
"data-root": "/nouveau/chemin/docker"
}- Déplacer les données existantes :
sudo mv /var/lib/docker /nouveau/chemin/docker- Redémarrer Docker :
sudo systemctl start dockerNote : Cette manipulation n'est généralement nécessaire que si /var est sur une partition petite.
Docker génère des logs qui peuvent rapidement occuper de l'espace. Configurons une rotation des logs :
Éditez /etc/docker/daemon.json :
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}Cette configuration limite chaque fichier de log à 10 Mo et garde maximum 3 fichiers.
Redémarrez Docker pour appliquer :
sudo systemctl restart dockerPar défaut, Docker crée un réseau bridge. Pour personnaliser les plages IP :
Éditez /etc/docker/daemon.json :
{
"bip": "192.168.1.1/24",
"default-address-pools": [
{
"base": "192.168.2.0/24",
"size": 28
}
]
}Note : Cette configuration n'est nécessaire que si vous avez des conflits IP avec votre réseau existant.
Si vous avez installé Docker Desktop sur Windows, la plupart des configurations se font via l'interface graphique.
- Cliquez sur l'icône Docker dans la barre des tâches (zone de notification)
- Cliquez sur l'icône ⚙️ (Settings)
- La fenêtre de configuration s'ouvre
Docker Desktop sur Windows utilise WSL 2, qui gère automatiquement les ressources. Mais vous pouvez définir des limites :
Dans Docker Desktop :
- Allez dans Settings → Resources
- Ajustez les paramètres :
- CPUs : Nombre de processeurs alloués (recommandé : 2-4)
- Memory : RAM allouée (recommandé : 4-8 Go)
- Swap : Mémoire swap (recommandé : 1-2 Go)
- Disk image size : Espace disque maximum (recommandé : 64 Go minimum)
Recommandations selon votre machine :
- 8 Go de RAM : Allouez 3-4 Go à Docker
- 16 Go de RAM : Allouez 6-8 Go à Docker
- 32 Go de RAM ou plus : Allouez 8-12 Go à Docker
Laissez toujours au moins 4 Go de RAM pour Windows lui-même.
Pour une meilleure performance, vous pouvez limiter les ressources WSL 2 globalement.
Créez ou éditez le fichier C:\Users\VotreNom\.wslconfig :
[wsl2]
memory=6GB
processors=4
swap=2GB Redémarrez WSL 2 pour appliquer :
wsl --shutdownPuis relancez Docker Desktop.
Activer le démarrage automatique :
- Settings → General
- Cochez ✅ Start Docker Desktop when you log in
Accélérer le démarrage (optionnel) :
- Décochez Enable Kubernetes si vous n'en avez pas besoin (pour débutants : décoché recommandé)
Note : Gardez toujours le moteur WSL 2 activé. C'est le backend par défaut et le plus performant pour Docker sur Windows. L'ancien backend Hyper-V est déprécié.
Changer l'emplacement des images Docker :
- Settings → Resources → Advanced
- Disk image location : Cliquez sur Browse pour changer l'emplacement
- Choisissez un disque avec plus d'espace si nécessaire
Nettoyer l'espace disque : Docker Desktop offre une fonction de nettoyage intégrée :
- Cliquez sur l'icône 🐞 (Troubleshoot)
- Cliquez sur Clean / Purge data
- Sélectionnez ce que vous voulez nettoyer
Dans Docker Desktop :
- Settings → Resources → Network
- Vous pouvez ajuster les DNS si nécessaire
- Par défaut, Docker utilise les DNS de Windows (recommandé)
Si vous utilisez WSL (Windows Subsystem for Linux), activez l'intégration :
- Settings → Resources → WSL Integration
- Activez l'intégration pour vos distributions WSL
- Cochez les distributions où vous voulez utiliser Docker
Cela permet d'utiliser les commandes Docker directement depuis votre terminal Linux dans WSL.
Si vous êtes derrière un proxy d'entreprise :
- Settings → Resources → Proxies
- Activez Manual proxy configuration
- Entrez vos paramètres proxy HTTP/HTTPS
Sur macOS, Docker Desktop offre une interface de configuration similaire à Windows.
- Cliquez sur l'icône Docker dans la barre de menus (en haut)
- Sélectionnez Settings (ou Préférences)
Pour Mac Intel :
- Resources → Advanced
- Ajustez les paramètres :
- CPUs : 2-4 cœurs (selon votre machine)
- Memory : 4-8 Go
- Swap : 1-2 Go
- Disk image size : 64 Go minimum
Pour Mac Apple Silicon (M1/M2/M3) : Docker utilise la technologie de virtualisation native d'Apple (Virtualization.framework). Les ressources sont généralement gérées automatiquement de manière efficace.
Vous pouvez toujours ajuster si nécessaire :
- Resources
- Les mêmes paramètres sont disponibles
Recommandations selon votre Mac :
- 8 Go de RAM : Allouez 3-4 Go à Docker
- 16 Go de RAM : Allouez 6-8 Go à Docker
- 32 Go de RAM ou plus : Allouez 8-12 Go à Docker
- General
- Cochez ✅ Start Docker Desktop when you log in
Pour les utilisateurs avancés qui veulent contrôler finement le démarrage, vous pouvez décocher cette option et lancer Docker manuellement quand vous en avez besoin.
Emplacement des données :
Docker stocke ses données dans ~/Library/Containers/com.docker.docker/Data
Nettoyer l'espace disque :
- Icône 🐞 (Troubleshoot) dans le menu Docker
- Clean / Purge data
- Sélectionnez les éléments à supprimer
Voir l'utilisation du disque :
docker system dfDans Docker Desktop :
- Resources → Network
- Docker utilise par défaut les paramètres réseau de macOS
Si vous avez des VPN ou configurations réseau complexes : Vous pouvez ajuster les DNS manuellement si nécessaire.
Docker Desktop doit avoir accès à certains dossiers pour les bind mounts :
- Resources → File Sharing
- Par défaut :
/Users,/Volumes,/private,/tmp - Ajoutez d'autres dossiers si nécessaire
Note : Sur les Mac Apple Silicon récents, cette configuration est plus automatique.
Sur les Mac M1/M2/M3, Docker est déjà très performant grâce à la virtualisation native.
Pour maximiser les performances :
- Utilisez des images multi-architecture ou natives ARM64 quand disponibles
- Activez VirtioFS (devrait être activé par défaut) pour de meilleures performances de partage de fichiers
- Settings → General → Cochez Use Virtualization framework
Certaines configurations sont utiles quel que soit votre système d'exploitation.
Si vous comptez télécharger beaucoup d'images ou publier vos propres images, créez un compte Docker Hub :
- Allez sur hub.docker.com
- Créez un compte gratuit
- Dans votre terminal :
docker login- Entrez vos identifiants
Avantages d'un compte Docker Hub :
- Limite de téléchargement augmentée (200 pulls/6h vs 100 pulls/6h en anonyme)
- Possibilité de publier vos propres images
- Images privées (limitées en version gratuite)
BuildKit est le moteur de build moderne de Docker, plus rapide et plus efficace (builds parallèles, meilleure gestion du cache, secrets de build, etc.).
Bonne nouvelle : Depuis Docker 23.0 (février 2023), BuildKit est activé par défaut. Si vous avez une version récente de Docker, vous n'avez rien à configurer.
Vérifier que BuildKit est actif :
docker buildx versionSi la commande retourne une version, BuildKit est disponible. Vous pouvez l'utiliser directement avec docker build ou docker buildx build.
Pour gagner du temps, créez des alias pour les commandes Docker fréquentes.
Sur Linux/macOS, ajoutez à ~/.bashrc ou ~/.zshrc :
# Alias Docker pratiques
alias dps='docker ps'
alias dpa='docker ps -a'
alias di='docker images'
alias dex='docker exec -it'
alias dlog='docker logs -f'
alias drm='docker rm'
alias drmi='docker rmi'
alias dstop='docker stop $(docker ps -q)' Sur Windows PowerShell, ajoutez à votre profil :
# Alias Docker
function dps { docker ps $args }
function dpa { docker ps -a $args }
function di { docker images $args } Rechargez votre terminal et testez : dps au lieu de docker ps.
Docker Compose est maintenant intégré (plugin docker compose), mais vous pouvez le configurer :
Vérifier la version :
docker compose versionCréer un fichier de configuration par défaut :
Dans vos projets, créez toujours un fichier .env pour les variables d'environnement plutôt que de les hardcoder.
Une fois toutes ces configurations effectuées, vérifiez que tout fonctionne correctement.
# Doit fonctionner sans sudo (Linux) ou erreurs
docker version
docker info
docker ps # Tester avec un conteneur simple
docker run --rm hello-worldSi vous voyez le message de bienvenue, tout est parfait !
# Voir les ressources système vues par Docker
docker info | grep -i "CPUs\|Memory"Vérifiez que les valeurs correspondent à votre configuration.
# Voir l'utilisation du disque
docker system df# Lister les réseaux
docker network lsVous devriez voir au moins le réseau bridge par défaut.
Maintenant que Docker est configuré, voici quelques bonnes pratiques de maintenance :
Docker peut accumuler des images, conteneurs et volumes inutilisés. Nettoyez régulièrement :
# Nettoyer tout ce qui est inutilisé
docker system prune
# Version agressive (attention : supprime aussi les volumes !)
docker system prune -a --volumesFréquence recommandée : Une fois par semaine ou quand l'espace disque devient limité.
Linux :
sudo apt update && sudo apt upgrade docker-ce docker-ce-cli containerd.ioWindows/macOS Docker Desktop : Docker Desktop se met à jour automatiquement, ou vous pouvez vérifier manuellement :
- Menu Docker → Check for updates
Fréquence recommandée : Tous les 1-2 mois ou quand une mise à jour importante sort.
# Voir l'espace utilisé en détail
docker system df -vSi Docker utilise plus de 50 Go, c'est peut-être le moment de nettoyer.
Linux :
# Voir les logs d'erreur
sudo journalctl -u docker
# Réinitialiser le service
sudo systemctl restart dockerWindows/macOS :
- Redémarrez Docker Desktop
- Si ça ne fonctionne pas : Menu Docker → Troubleshoot → Reset to factory defaults
Causes possibles :
- Docker n'est pas démarré :
sudo systemctl start docker - Problème de permissions (Linux) : Vérifiez que vous êtes dans le groupe docker
- Socket Docker inaccessible : Vérifiez les permissions de
/var/run/docker.sock
Solutions :
- Allouez plus de ressources (CPU/RAM) dans les paramètres
- Nettoyez les images inutilisées :
docker system prune -a - Sur Windows : Assurez-vous que WSL 2 est bien activé
- Désactivez Kubernetes si vous ne l'utilisez pas
Si Docker ne peut pas démarrer à cause de ports déjà utilisés :
# Voir quel processus utilise le port 80 (exemple)
sudo lsof -i :80 # Linux/macOS
netstat -ano | findstr :80 # Windows La configuration post-installation de Docker est une étape importante qui améliore significativement votre expérience :
Sur Linux :
- Activez le démarrage automatique
- Configurez l'utilisation sans sudo
- Ajustez le stockage et les logs si nécessaire
Sur Windows :
- Allouez les bonnes ressources dans Docker Desktop
- Configurez WSL 2 correctement
- Activez le démarrage automatique
Sur macOS :
- Allouez suffisamment de ressources
- Utilisez la virtualisation native sur Apple Silicon
- Configurez le partage de fichiers
Pour tous :
- Créez un compte Docker Hub
- Activez BuildKit pour de meilleures performances
- Créez des alias pour les commandes fréquentes
- Planifiez une maintenance régulière
Votre environnement Docker est maintenant optimisé et prêt pour un usage intensif. Dans la prochaine section, nous allons vérifier en détail que tout fonctionne parfaitement avant de passer aux concepts fondamentaux.