Accueil » Cours » Administration système » Cloud Computing » TP01 : Déployer un serveur Nginx avec WordPress en utilisant Docker

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

  1. Connectez-vous à votre machine ou votre VM (peut être une instance AWS, Azure, ou locale).

  2. Installer Docker :

    sudo apt-get update
    sudo apt-get install -y docker.io
  3. 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

  1. 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

  1. 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 :

  1. 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;
        }
    }
  2. Créez un Dockerfile pour Nginx :

    FROM nginx:alpine
    COPY nginx.conf /etc/nginx/conf.d/default.conf
  3. Construisez l’image Nginx :

    docker build -t custom-nginx .
  4. 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

  1. Vérifiez que WordPress est accessible :

    • Ouvrez un navigateur et accédez à http://localhost:8080 (ou simplement http://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.

Retour en haut