Wiki - Docker
Guide indépendant
Table des Matières
Docker
Docker est une plateforme de conteneurisation open-source qui permet de créer, déployer et exécuter des applications dans des conteneurs isolés. Développé par Docker Inc. et publié pour la première fois en 2013, Docker a révolutionné la manière de construire, déployer et gérer des applications en les empaquetant avec toutes leurs dépendances dans des conteneurs standardisés.
Présentation générale
Docker est une plateforme open-source qui permet d'automatiser le déploiement d'applications dans des conteneurs logiciels. Un conteneur Docker isole une application et ses dépendances dans un environnement isolé, garantissant qu'elle fonctionnera de manière cohérente sur n'importe quel système. Cette approche élimine le problème classique du "ça marche sur ma machine".
Le projet Moby, lancé en 2017, est un projet open source pour faire avancer les logiciels et l'expérience de la conteneurisation. Docker utilise une architecture client-serveur : le démon Docker (dockerd) gère les conteneurs, les images, les réseaux et les volumes, tandis que le client Docker (CLI) permet aux utilisateurs d'interagir avec le démon.
Historique et versions
Docker a été initialement développé par Solomon Hykes et l'équipe de dotCloud (maintenant Docker, Inc.) et a été publié en open-source en mars 2013. Sa version 1.0 est sortie en juin 2014. La plateforme a rapidement gagné en popularité, notamment grâce à sa facilité d'utilisation et à sa capacité à créer des environnements de développement et de production reproductibles.
Évolution et versions récentes
Docker a connu plusieurs versions majeures, notamment l'introduction de Docker Swarm pour l'orchestration, l'interface de ligne de commande (CLI), et l'intégration avec Kubernetes. En 2023, Docker a annoncé un nouveau modèle de tarification et a continué d'évoluer vers des solutions cloud et d'entreprise.
Les versions récentes de Docker Desktop (comme la v4.30.0, 2026) incluent des améliorations de performances, une meilleure intégration avec les outils de développement, et une meilleure prise en charge des architectures ARM (comme Apple Silicon). Les versions récentes de Docker Engine (v25.0, 2026) apportent des améliorations de sécurité et de performance.
Caractéristiques principales
Portabilité : Les conteneurs Docker sont portables sur n'importe quel système supportant Docker, garantissant une exécution cohérente entre les environnements.
Isolation : Chaque conteneur s'exécute de manière isolée, avec ses propres ressources et dépendances.
Légèreté : Les conteneurs partagent le noyau de l'OS hôte, ce qui les rend plus légers que les machines virtuelles.
Automatisation : Docker permet d'automatiser le déploiement d'applications via des Dockerfiles et des fichiers de composition (docker-compose).
Large écosystème : Docker Hub, le registre public, fournit des milliers d'images officielles et communautaires.
Prérequis système
Docker est disponible sur plusieurs plateformes :
Linux : Distributions basées sur le noyau Linux (3.10 ou supérieur).
Windows : Windows 10/11 Pro, Enterprise, ou Education (version 1607 ou supérieure) avec Hyper-V activé.
macOS : macOS 10.14 ou supérieur (Apple Silicon ou Intel).
Requis système minimaux : 2 Go de RAM, 2 cœurs de processeur, 4 Go d'espace disque.
Installation
Il existe plusieurs méthodes d'installation selon le système d'exploitation.
Sur Linux (Ubuntu/Debian)
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginSur macOS et Windows
Téléchargez Docker Desktop à partir du site officiel et installez-le comme une application classique. Docker Desktop inclut le démon Docker, Docker CLI, et Docker Compose.
Pour Linux, Docker Desktop est également disponible. Téléchargez la version appropriée pour votre distribution.
Configuration de base
Après l'installation, vous pouvez configurer Docker pour améliorer la sécurité et les performances.
# Vérifier la version
docker --version
# Tester l'installation
docker run hello-worldPour exécuter Docker sans sudo sur Linux, ajoutez votre utilisateur au groupe docker :
sudo usermod -aG docker $USER
newgrp dockerUtilisation et commandes principales
Gestion des images
# Télécharger une image depuis Docker Hub
docker pull ubuntu:latest
# Lister les images locales
docker imagesGestion des conteneurs
# Lancer un conteneur à partir d'une image
docker run -d --name mon_conteneur nginx
# Lister les conteneurs actifs
docker ps
# Accéder à un shell dans un conteneur
docker exec -it mon_conteneur bashGestion des volumes et réseaux
# Créer un volume
docker volume create mon_volume
# Créer un réseau personnalisé
docker network create mon_reseauTrucs et astuces
Utilisez les
Dockerfilepour créer des images personnalisées.Utilisez
docker-composepour gérer des applications multi-conteneurs.Nettoyez régulièrement les images et conteneurs inutilisés avec
docker system prune -a.Pour le développement, utilisez des volumes pour le montage de code source.
FAQ
Quelle est la différence entre Docker et une machine virtuelle ?
Les conteneurs Docker partagent le noyau de l'hôte, ce qui les rend plus légers et plus rapides à démarrer que les machines virtuelles, qui virtualisent le matériel.
Comment partager mes images Docker ?
Vous pouvez pousser vos images sur Docker Hub ou un registre privé.
Docker est-il gratuit ?
Docker propose des versions gratuites pour un usage personnel et des forfaits payants pour les entreprises.
