Tutoriel Installation de WordPress avec Docker
Tutoriel · Pas à pas

Installation de WordPress avec Docker

🐳 TUTORIEL PAS À PAS

📦 Installation de WordPress avec Docker

📅 Mis à jour : Août 2026 ⏱️ Durée : 25 min 📋 Niveau : Intermédiaire 🐳 Docker 📄 WordPress 7.0 🗄️ MariaDB 11.8

WordPress 7.0 est la dernière version majeure du CMS le plus populaire au monde, sortie en mai 2026. L’installer avec Docker présente de nombreux avantages : isolation des services, reproductibilité, déploiement en une seule commande, et mise à l’échelle facilitée. Ce tutoriel vous guide pas à pas dans l’installation d’une stack WordPress complète avec Docker Compose, utilisant MariaDB 11.8 et des volumes pour la persistance des données.

📖 Architecture de la stack :
  • Conteneur WordPress 7.0 : l’application CMS elle-même (basée sur l’image officielle wordpress:7.0).
  • Conteneur MariaDB 11.8 : la base de données pour stocker les articles, utilisateurs, commentaires et paramètres.
  • Volumes Docker : pour persister les fichiers du site (thèmes, plugins, médias) et les données de la base.
  • (Optionnel) : Nginx ou Traefik comme reverse proxy pour gérer le HTTPS.
📌 Prérequis :
  • Un serveur Linux (Debian, Ubuntu, etc.) avec Docker et Docker Compose installés.
  • Un domaine pointant vers l’IP de votre serveur (recommandé pour la production).
  • Les ports 80 (HTTP) et 443 (HTTPS) ouverts.
  • Un utilisateur avec les droits sudo.
⚠️ Versions utilisées : Ce tutoriel utilise WordPress 7.0 et MariaDB 11.8, les versions stables les plus récentes en août 2026. Si vous préférez une version LTS, vous pouvez remplacer mariadb:11.8 par mariadb:11.4.

1 Installation de Docker et Docker Compose

1.1 – Mise à jour du système
$ sudo apt update && sudo apt upgrade -y
✅ Système à jour.
1.2 – Installation de Docker
Utilisez le script d’installation officiel de Docker :
$ curl -fsSL https://get.docker.com | sh
Ajoutez votre utilisateur au groupe docker pour éviter d’utiliser sudo à chaque commande :
$ sudo usermod -aG docker $USER
Déconnectez-vous et reconnectez-vous pour appliquer les changements.
✅ Docker installé.
1.3 – Vérification de l’installation
$ docker run hello-world
✅ Docker fonctionne correctement.
1.4 – Installation de Docker Compose (plugin)
Docker Compose est désormais intégré sous forme de plugin. Vérifiez sa présence :
$ docker compose version
✅ Docker Compose disponible.

2 Création du fichier docker-compose.yml

2.1 – Créer le répertoire de travail
$ mkdir ~/wordpress-docker && cd ~/wordpress-docker
✅ Répertoire créé.
2.2 – Rédiger le fichier docker-compose.yml
Créez le fichier avec la configuration suivante. Remplacez les mots de passe par des mots de passe forts (32 caractères minimum).
# docker-compose.yml – WordPress 7.0 + MariaDB 11.8

services:
  db:
    image: mariadb:11.8
    container_name: wordpress-db
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wordpress
      MARIADB_PASSWORD: CHANGE_ME_PASSWORD
      MARIADB_ROOT_PASSWORD: CHANGE_ME_ROOT
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - wordpress-network

  wordpress:
    image: wordpress:7.0
    container_name: wordpress-app
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: CHANGE_ME_PASSWORD
      # Clés de sécurité (générées automatiquement si absentes – recommandé de les définir)
    volumes:
      - wordpress_data:/var/www/html
    networks:
      - wordpress-network

volumes:
  db_data:
  wordpress_data:

networks:
  wordpress-network:
    driver: bridge
Explications des variables :
  • MARIADB_DATABASE : nom de la base de données.
  • MARIADB_USER / MARIADB_PASSWORD : identifiants de l’utilisateur WordPress.
  • MARIADB_ROOT_PASSWORD : mot de passe root (à conserver précieusement).
  • WORDPRESS_DB_HOST : adresse du conteneur base de données (nom du service).
  • WORDPRESS_DB_PASSWORD : doit correspondre à MARIADB_PASSWORD.
✅ Fichier docker-compose.yml prêt avec les dernières versions stables.

3 Lancement de la stack

3.1 – Démarrer les conteneurs
$ docker compose up -d
L’option -d (detach) lance les conteneurs en arrière-plan. Docker va télécharger les images wordpress:7.0 et mariadb:11.8 si elles ne sont pas présentes localement.
✅ Conteneurs démarrés.
3.2 – Vérifier l’état des conteneurs
$ docker compose ps
✅ Les deux conteneurs (wordpress-app et wordpress-db) sont en cours d’exécution.
3.3 – Accéder à l’installateur WordPress
Ouvrez un navigateur et accédez à http://IP_DU_SERVEUR:8080.
http://IP_DU_SERVEUR:8080
✅ La page d’installation de WordPress 7.0 s’affiche.

4 Finalisation de l’installation

4.1 – Remplir le formulaire d’installation
Sur la page d’installation, renseignez :
  • Titre du site : le nom de votre site.
  • Nom d’utilisateur : évitez “admin”, choisissez un identifiant unique.
  • Mot de passe : utilisez un mot de passe fort (le générateur automatique est recommandé).
  • Email : votre adresse email pour les notifications.
✅ WordPress 7.0 installé. Vous êtes redirigé vers le tableau de bord.

5 Configurations avancées et production

5.1 – Ajouter les clés de sécurité (salts)
Pour renforcer la sécurité, ajoutez les clés d’authentification WordPress dans votre fichier docker-compose.yml. Générez-les sur : https://api.wordpress.org/secret-key/1.1/salt/
# Ajouter dans la section environment du service wordpress
WORDPRESS_AUTH_KEY: 'votre_clé_unique_1'
WORDPRESS_SECURE_AUTH_KEY: 'votre_clé_unique_2'
WORDPRESS_LOGGED_IN_KEY: 'votre_clé_unique_3'
WORDPRESS_NONCE_KEY: 'votre_clé_unique_4'
WORDPRESS_AUTH_SALT: 'votre_clé_unique_5'
WORDPRESS_SECURE_AUTH_SALT: 'votre_clé_unique_6'
WORDPRESS_LOGGED_IN_SALT: 'votre_clé_unique_7'
WORDPRESS_NONCE_SALT: 'votre_clé_unique_8'
✅ Sécurité renforcée.
5.2 – Utiliser un reverse proxy pour HTTPS
En production, il est fortement recommandé d’activer HTTPS. Vous pouvez utiliser Traefik ou Nginx comme reverse proxy avec Let’s Encrypt.
Exemple avec Traefik : consultez le dépôt wordpress-traefik-letsencrypt-docker-compose.
✅ Site sécurisé en HTTPS.
5.3 – Utiliser des versions spécifiques des images
Évitez d’utiliser latest en production. Ce tutoriel utilise les versions stables :
  • wordpress:7.0 (dernière version stable en août 2026)
  • mariadb:11.8 (dernière version stable en août 2026)
✅ Stack stable et reproductible.
5.4 – Sauvegarder les volumes
Les données sont persistantes grâce aux volumes nommés db_data et wordpress_data. Pour sauvegarder :
$ docker run --rm -v wordpress_data:/data -v $(pwd):/backup alpine tar czf /backup/wordpress_data_backup.tar.gz -C /data .
$ docker run --rm -v db_data:/data -v $(pwd):/backup alpine tar czf /backup/db_data_backup.tar.gz -C /data .
✅ Sauvegardes des données effectuées.

✅ Test de validation

🎉 Installation réussie si :

  • La page d’accueil de WordPress s’affiche à http://IP:8080.
  • Le tableau de bord est accessible via http://IP:8080/wp-admin.
  • Les conteneurs sont en cours d’exécution (docker compose ps).
  • Les données persistent après un redémarrage des conteneurs.

📚 Ressources complémentaires


Suis ta progressionConnecte-toi pour marquer les ressources comme terminées et retrouver ton avancement.
Se connecter