À la différence d’une machine virtuelle complète, un conteneur partage le noyau du système hôte tout en isolant les processus, le système de fichiers et le réseau de l’application qu’il embarque. Il se lance en quelques secondes, consomme peu de ressources, et garantit qu’un même environnement se comporte identiquement du poste du développeur jusqu’à la production.
Usage pour héberger WordPress
Un site WordPress conteneurisé se compose en général de plusieurs conteneurs qui communiquent entre eux : un conteneur PHP-FPM exécutant le cœur de WordPress, un conteneur Nginx en frontal, un conteneur MySQL ou MariaDB pour la base de données, parfois un conteneur Redis pour le cache d’objets. Cette approche facilite les déploiements reproductibles et le passage à l’échelle horizontal derrière un équilibrage de charge.
Exemple avec Docker Compose
services:
wordpress:
image: wordpress:php8.3-fpm
volumes:
- ./wp-content:/var/www/html/wp-content
environment:
WORDPRESS_DB_HOST: db
db:
image: mariadb:11
Bon à savoir
- Les données persistantes (fichiers médias, base de données) doivent être stockées dans des volumes montés, sinon elles disparaissent au redémarrage du conteneur.
- Un conteneur n’est pas conçu pour stocker un état durable en son sein : ce principe distingue nettement l’approche conteneur d’un VPS classique où tout reste en place sur le disque.
- Orchestrer plusieurs conteneurs à grande échelle relève généralement d’outils dédiés comme Kubernetes, hors du périmètre d’un simple Docker Compose.