Wiki - Docker
Article wiki - Docker
Table des Matières
Présentation générale
Docker est une plateforme de conteneurisation destinée à créer, partager et exécuter des applications dans des conteneurs isolés. Son composant central, Docker Engine, s’appuie sur la virtualisation au niveau du système d’exploitation : un conteneur partage le noyau de l’hôte, contrairement à une machine virtuelle complète, tout en embarquant l’application, ses bibliothèques et sa configuration.
L’objectif est simple : rendre un environnement applicatif reproductible du poste développeur jusqu’à la production. Une image Docker décrit un état immuable, souvent construit à partir d’un Dockerfile, puis un conteneur en devient l’instance exécutable. Cette approche facilite les tests, l’intégration continue, les déploiements cloud-native et la standardisation des environnements Linux.
Docker s’adresse principalement aux développeurs, administrateurs système, équipes DevOps, SRE, formateurs et mainteneurs d’applications qui doivent livrer rapidement des services isolés, portables et faciles à reconstruire. Il reste aussi utile pour les laboratoires, les démonstrations techniques et l’auto-hébergement, à condition de maîtriser les volumes, le réseau, les droits utilisateurs et la sécurité des images.
Au 14 juin 2026, le site officiel présente Docker comme une plateforme pour build, share and run des applications conteneurisées. Les téléchargements référencés ici indiquent notamment Docker Desktop 4.30.0 pour Windows et macOS, ainsi que Docker Engine 25.0 pour Linux ; ces numéros doivent être vérifiés avant installation sur la page officielle, car ils ne garantissent pas à eux seuls la dernière version disponible.
Site officiel : docker.com
Licence du moteur Docker : Apache-2.0 ; Docker Desktop est soumis à des conditions d’utilisation spécifiques.
Historique et versions
Docker apparaît en 2013 et popularise l’usage des conteneurs applicatifs sous Linux. Son principe reste le même aujourd’hui : empaqueter une application et ses dépendances dans une image, puis exécuter cette image sous forme de conteneur isolé. Le composant central est Docker Engine, chargé de construire, lancer et gérer les conteneurs.
Au fil des années, Docker est passé d’un outil surtout utilisé par les administrateurs système à une plateforme complète pour développeurs, CI/CD et environnements cloud-native. Le site officiel présente toujours Docker comme une solution pour build, share and run des applications conteneurisées, avec un écosystème autour de Docker Desktop, Docker Hub, Compose, BuildKit et des outils de développement.
Les versions indiquées dans les données produit sont Docker Desktop 4.30.0 pour Windows et macOS, et Docker Engine 25.0 pour Linux. Au 14 juin 2026, ces numéros doivent être considérés comme des repères fournis, pas nécessairement comme les dernières versions publiées : pour une installation en production, il faut vérifier les notes de version officielles sur docker.com ou la documentation Docker avant déploiement.
Les informations récentes disponibles signalent une activité officielle du site Docker datée du 8 juin 2026, ce qui confirme que le projet et son écosystème restent maintenus. Une source GitHub très populaire, sickcodes/Docker-OSX, a aussi été mise à jour le 14 juin 2026, mais il s’agit d’un projet tiers permettant d’exécuter macOS via Docker/KVM, et non d’une version officielle de Docker.
État actuel : Docker demeure un outil incontournable, mais les environnements sensibles doivent suivre les mises à jour de sécurité, épingler les versions d’images et tester toute montée de version en préproduction.
Caractéristiques principales
Docker fournit une plateforme pour construire, partager et exécuter des applications en conteneurs. Au 14 juin 2026, la référence officielle reste docker.com pour vérifier les éditions, les conditions de licence et les versions disponibles selon Linux, Windows ou macOS.
Fonctionnalités importantes
Images reproductibles : une application est décrite dans un
Dockerfile, puis empaquetée avec ses dépendances. Cela réduit les écarts entre poste de développement, CI et production.Conteneurs légers : Docker Engine utilise la virtualisation au niveau du système d’exploitation. Les conteneurs partagent le noyau de l’hôte, démarrent rapidement et consomment généralement moins qu’une machine virtuelle complète.
Réseau, volumes et registres : Docker facilite l’exposition de ports, la persistance de données via volumes et la distribution d’images via des registres publics ou privés.
Écosystème DevOps : Docker s’intègre bien aux pipelines CI/CD, aux environnements de test jetables et aux architectures microservices.
docker composereste très pratique pour lancer plusieurs services localement.
Points forts, limites et usages
Points forts : portabilité, démarrage rapide, isolation pratique, automatisation des builds et simplification de l’onboarding développeur.
Limites : un conteneur n’est pas une frontière de sécurité absolue. Il faut limiter les privilèges, maintenir les images, scanner les vulnérabilités et éviter les secrets en clair. Les applications avec interface graphique, forte dépendance au noyau ou besoins matériels spécifiques peuvent demander plus d’ajustements.
Cas d’usage : développement local, tests d’intégration, services web, bases de données temporaires, packaging d’outils CLI, environnements de formation et déploiements cloud-native.
Prérequis système
Au 14 juin 2026, Docker reste une plateforme destinée à créer, partager et exécuter des applications conteneurisées. Les prérequis exacts dépendent de l’édition utilisée : Docker Engine sur Linux, ou Docker Desktop sur Windows et macOS. Vérifiez toujours la matrice officielle avant installation : documentation Docker Engine et documentation Docker Desktop.
Matériel et architecture
Processeur 64 bits recommandé ; architectures courantes :
x86_64/amd64etarm64/aarch64, selon la distribution.Virtualisation matérielle activée dans l’UEFI/BIOS pour Docker Desktop, WSL 2 ou les usages avec machines virtuelles.
Mémoire : 2 Go minimum pour des tests simples ; 4 à 8 Go ou plus recommandés pour Compose, bases de données, CI locale ou Kubernetes.
Espace disque : prévoyez au moins 10 à 20 Go libres ; les images, volumes et caches de build grossissent rapidement.
Prérequis Linux
Distribution Linux maintenue, avec noyau récent prenant en charge les
namespaces,cgroups, le réseau bridge et le stockage overlay.Système d’initialisation compatible, généralement
systemd.Paquets usuels :
ca-certificates,curl,gnupg, dépôt officiel Docker et gestionnaire de paquets de la distribution.Pare-feu et réseau : Docker modifie des règles
iptables/nftables; auditez les politiques de sécurité avant une mise en production.
Recommandations
N’installez pas une version ancienne comme Docker Engine 25.0 sans vérifier son support actuel.
Ajoutez un utilisateur au groupe
dockeruniquement si nécessaire : ce groupe donne des privilèges équivalents àroot.Pour les serveurs, privilégiez Docker Engine ; pour postes développeurs Windows/macOS, Docker Desktop est généralement plus simple.
Installation détaillée
Au 14 juin 2026, installez Docker depuis les dépôts officiels Docker lorsque c’est possible. Les versions affichées dans certains catalogues, comme Docker Desktop 4.30.0 ou Docker Engine 25.0, ne doivent pas être considérées comme les plus récentes sans vérification sur le site officiel.
Installer Docker Engine sur Ubuntu ou Debian
Prérequis: un système 64 bits à jour, un accès administrateur et une connexion Internet. Évitez le paquet distribution docker.io si vous voulez suivre les versions Docker officielles.
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpgAjoutez ensuite le dépôt correspondant à votre distribution en suivant la documentation officielle, puis installez les paquets:
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
docker --version
sudo docker run hello-worldGuide officiel: installation Docker Engine.
Installer Docker Desktop
Sur Windows, macOS et certaines distributions Linux de bureau, Docker Desktop fournit Docker Engine, Compose, Buildx et une interface graphique. Téléchargez uniquement depuis Docker Desktop officiel, puis vérifiez les exigences de licence et d’usage professionnel.
Post-installation utile
Pour utiliser Docker sans sudo, ajoutez votre utilisateur au groupe docker, puis reconnectez-vous:
sudo usermod -aG docker $USERAvertissement: le groupe
dockerdonne des privilèges élevés proches de root. À réserver aux utilisateurs de confiance.
Configuration de base
Sur Linux, commencez par distinguer Docker Engine, destiné aux serveurs et postes Linux, de Docker Desktop, surtout utile sur Windows/macOS ou pour une expérience intégrée. Au 14 juin 2026, vérifiez toujours la version disponible dans les dépôts officiels Docker plutôt que de vous fier à un numéro ancien indiqué par une page tierce.
Installez Docker depuis la documentation officielle de votre distribution : docs.docker.com/engine/install.
Activez le service au démarrage :
sudo systemctl enable --now docker sudo docker version sudo docker run --rm hello-worldAjoutez votre utilisateur au groupe
dockeruniquement si nécessaire :sudo usermod -aG docker $USER
Attention : appartenir au groupe
dockerdonne pratiquement des droits administrateur sur l’hôte. Sur un serveur sensible, préférezsudo, Docker rootless ou une séparation stricte des comptes.
Réglages recommandés
Créez ou adaptez /etc/docker/daemon.json pour limiter la taille des journaux et éviter qu’un conteneur bavard remplisse le disque :
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"live-restore": true
}Rechargez ensuite Docker :
sudo systemctl restart docker
sudo docker infoStockez les données Docker sur un volume dédié si l’hôte exécute beaucoup de conteneurs.
Utilisez des images officielles ou maintenues, épinglées par version plutôt que
latest.Nettoyez prudemment avec
docker system dfpuisdocker system prune.Pour les projets applicatifs, privilégiez
docker composeavec variables dans.env, secrets hors Git et réseaux nommés.
Utilisation et commandes principales
Docker s’utilise au quotidien via Docker Engine, le moteur qui construit, lance et administre les conteneurs, et éventuellement via Docker Desktop sur poste développeur. Au 14 juin 2026, vérifiez toujours les versions publiées sur le site officiel de Docker avant installation ou mise à niveau : les versions indiquées dans certains catalogues, comme Docker Engine 25.0 ou Docker Desktop 4.30.0, ne doivent pas être considérées comme les plus récentes sans contrôle.
Les commandes de base permettent de valider l’installation, récupérer une image, lancer un conteneur puis inspecter son comportement.
docker version
docker info
docker pull nginx
docker run --name web-test -p 8080:80 -d nginx
docker ps
docker logs web-test
docker exec -it web-test sh
docker stop web-test
docker rm web-testLe workflow courant consiste à écrire un Dockerfile, construire une image, la tester localement, puis la publier dans un registre.
docker build -t mon-app:dev .
docker run --rm -p 3000:3000 mon-app:dev
docker tag mon-app:dev registre.example.com/mon-app:dev
docker push registre.example.com/mon-app:devPour les applications multi-services, Docker Compose reste l’interface la plus pratique : un fichier compose.yaml décrit les services, réseaux, volumes et variables d’environnement.
docker compose up -d
docker compose ps
docker compose logs -f
docker compose downImages : listez et nettoyez avec
docker imagesetdocker image prune.Volumes : persistez les données avec
docker volume createet contrôlez les suppressions.Sécurité : évitez les conteneurs privilégiés, limitez les ports exposés et privilégiez des images officielles ou vérifiées.
Trucs, astuces et FAQ
Docker reste une référence pour créer, partager et exécuter des applications en conteneurs. Sur Linux, privilégiez Docker Engine installé depuis la documentation officielle, puis vérifiez systématiquement la version disponible pour votre distribution plutôt que de vous fier à un ancien paquet de dépôt.
Commandes utiles au quotidien
docker version
docker compose version
docker ps -a
docker logs nom_conteneur
docker exec -it nom_conteneur sh
docker system dfNettoyer sans tout casser : utilisez
docker system prunepour supprimer les objets inutilisés. Ajoutez-aseulement si vous acceptez de supprimer aussi les images non utilisées.Éviter les conteneurs jetables oubliés : lancez vos tests avec
--rm, par exempledocker run --rm alpine uname -a.Reproduire un bug : conservez le
Dockerfile, le fichiercompose.yamlet la sortie dedocker version.
Problèmes fréquents
Permission denied sur Docker : vérifiez que le service fonctionne avec
systemctl status docker. Ajouter un utilisateur au groupedockerévitesudo, mais donne des droits élevés sur la machine : à réserver aux comptes de confiance.Port déjà utilisé : modifiez le mappage, par exemple
-p 8081:80, ou identifiez le processus avecss -ltnp.No space left on device : inspectez l’espace avec
docker system df, puis supprimez images, volumes ou journaux inutiles avec prudence.
FAQ rapide
Docker remplace-t-il une machine virtuelle ? Non. Un conteneur partage le noyau de l’hôte ; il démarre vite, mais n’isole pas comme une VM complète.
Docker Desktop est-il obligatoire sous Linux ? Non. Docker Engine suffit dans la majorité des usages serveur et CI. Consultez la documentation d’installation officielle.
Où vérifier les nouveautés ? Sur docker.com et les notes de version officielles, afin d’éviter d’installer une version ancienne présentée comme récente.
Ressources et liens utiles
Au 14 juin 2026, la source de référence pour Docker reste le site officiel, qui présente la plateforme comme un outil destiné à créer, partager et exécuter des applications conteneurisées. Pour éviter toute confusion, vérifiez toujours les versions sur les pages officielles avant installation ou mise à jour : les entrées de téléchargement historiques comme Docker Desktop 4.30.0 ou Docker Engine 25.0 ne doivent pas être considérées automatiquement comme les dernières versions disponibles.
Liens officiels
Site officiel Docker : présentation du produit, accès aux offres Docker Desktop, Docker Hub et ressources commerciales.
Documentation Docker : installation, commandes
docker, Dockerfile, volumes, réseaux, Compose, BuildKit et bonnes pratiques de sécurité.Installation de Docker Engine : procédures Linux par distribution. À privilégier pour Debian, Ubuntu, Fedora, RHEL, CentOS Stream et dérivées.
Documentation Docker Compose : orchestration locale multi-conteneurs avec fichiers
compose.yaml.Notes de version Docker Engine et notes de version Docker Desktop : changements, correctifs, dépréciations et incompatibilités connues.
Dépôts et ressources complémentaires
Organisation Docker sur GitHub : dépôts publics, code source, issues et contributions.
Docker Hub : registre d’images. Contrôlez toujours l’éditeur, les tags, la date de publication et les signatures éventuelles avant usage en production.
Docker-OSX : projet communautaire permettant d’exécuter macOS via KVM dans Docker. Utile pour tests spécialisés, mais non officiel et à évaluer selon les contraintes légales, matérielles et de sécurité.
