Objectif : Déployer un serveur Nginx avec WordPress en utilisant Docker.
Prérequis :
Accès à une machine locale ou une machine virtuelle
Docker installé
Étape 1 : Installer Docker
Connectez-vous à votre machine ou votre VM (peut être une instance AWS, Azure, ou locale).
Installer Docker :
sudo apt-get update sudo apt-get install -y docker.io
Vérifier l’installation de Docker :
docker --version
Vous devriez voir la version de Docker installée.
Étape 2 : Créer un réseau Docker
Pour que les conteneurs puissent communiquer entre eux (Nginx et WordPress), créez un réseau Docker dédié :
docker network create wordpress-network
Étape 3 : Déployer une base de données MySQL
Lancez un conteneur MySQL :
docker run --name wordpress-db --network wordpress-network -e MYSQL_ROOT_PASSWORD=root_password -e MYSQL_DATABASE=wordpress -e MYSQL_USER=wordpress_user -e MYSQL_PASSWORD=wordpress_password -d mysql:5.7
Cette commande déploie une base de données MySQL qui sera utilisée par WordPress.
Étape 4 : Déployer WordPress
Lancez un conteneur WordPress :
docker run --name wordpress --network wordpress-network -e WORDPRESS_DB_HOST=wordpress-db:3306 -e WORDPRESS_DB_USER=wordpress_user -e WORDPRESS_DB_PASSWORD=wordpress_password -e WORDPRESS_DB_NAME=wordpress -p 8080:80 -d wordpress
Cette commande déploie WordPress et le lie à la base de données MySQL créée précédemment.
Étape 5 : Déployer un serveur Nginx (optionnel)
Si vous souhaitez ajouter un serveur Nginx pour gérer les requêtes HTTP :
Créez un fichier
nginx.conf
pour la configuration :server { listen 80; server_name localhost; location / { proxy_pass http://wordpress:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Créez un Dockerfile pour Nginx :
FROM nginx:alpine COPY nginx.conf /etc/nginx/conf.d/default.conf
Construisez l’image Nginx :
docker build -t custom-nginx .
Lancez le conteneur Nginx :
docker run --name nginx-proxy --network wordpress-network -p 80:80 -d custom-nginx
Étape 6 : Vérifier le déploiement
Vérifiez que WordPress est accessible :
Ouvrez un navigateur et accédez à
http://localhost:8080
(ou simplementhttp://localhost
si vous avez ajouté Nginx).Vous devriez voir l’écran d’installation de WordPress.
Conclusion : Vous avez déployé avec succès un serveur WordPress avec une base de données MySQL et, en option, un serveur Nginx en utilisant Docker. Vous avez appris à créer des conteneurs pour une application multi-composants et à les faire communiquer via un réseau Docker.