Skip to content

Inception: Création d'une infrastructure complète en utilisant Docker. Le projet implique la virtualisation de différents services Docker (NGINX, WordPress, MariaDB) avec docker-compose pour une gestion efficace des conteneurs.

Notifications You must be signed in to change notification settings

raveriss/Inception

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Inception - École 42 | Paris

Docker Docker Compose MariaDB Nginx WordPress 42 42 Paris

Badge du projet push_swap

Description

Inception est un projet qui vise à approfondir les connaissances dans la virtualisation en utilisant Docker. L'objectif est de créer une mini-infrastructure de plusieurs services, tous conteneurisés et orchestrés à l'aide de docker-compose. Chaque service tournera dans son propre conteneur dédié en respectant les bonnes pratiques de configuration.

Exercise 00: Infrastructure Docker

L'objectif principal de ce projet est de mettre en place une infrastructure complète comprenant plusieurs services Docker comme NGINX, WordPress, et MariaDB. Le projet inclut la création d'une machine virtuelle, l'écriture de Dockerfiles, et l'utilisation de volumes et de réseaux Docker.

Structure du Projet

Le projet est organisé de la manière suivante :

  • File: Makefile
  • Directory: srcs/
    • docker-compose.yml
    • .env
    • Directory: requirements/
      • Directory: mariadb/
        • Dockerfile
        • .dockerignore
        • conf/
        • tools/
      • Directory: nginx/
        • Dockerfile
        • .dockerignore
        • conf/
        • tools/
      • Directory: wordpress/
        • Dockerfile
        • .dockerignore
        • tools/
      • Directory: bonus/
        • (Dossier pour tout service supplémentaire dans les bonus)

Le fichier .env contient des variables d'environnement pour la configuration de votre domaine et des services comme MariaDB et WordPress.

Description des Fichiers

  • docker-compose.yml: Contient la configuration des différents services et la mise en place des réseaux et des volumes Docker.
  • Makefile: Automatiser la création et le déploiement des conteneurs via Docker Compose.
  • Dockerfiles/: Dossier contenant les Dockerfiles pour chaque service (NGINX, WordPress, MariaDB).
  • Volumes/: Dossier où les volumes sont montés pour stocker les données persistantes (base de données, fichiers de WordPress).

Compilation

Pour compiler et démarrer l'infrastructure, utilisez la commande suivante dans le terminal :

make

Cette commande lance docker-compose et met en place tous les services.

Exécution

Une fois la compilation terminée, vous pouvez accéder aux services via votre navigateur :

Accédez à votre site WordPress sécurisé via HTTPS à l'adresse https://login.42.fr, où login est votre login utilisateur de l'École 42.

Fonctionnalités

  • Conteneurisation des services : NGINX, WordPress, et MariaDB tournent chacun dans leur propre conteneur.
  • Sécurisation : Utilisation du protocole TLSv1.2 ou TLSv1.3 pour sécuriser les connexions via NGINX.
  • Volumes : Les données sont persistantes grâce à l'utilisation de volumes Docker pour la base de données et les fichiers de WordPress.
  • Automatisation : Utilisation d'un Makefile pour automatiser la configuration et le déploiement.
  • Variables d'environnement : Configuration des mots de passe et autres informations sensibles via des variables d'environnement sécurisées dans un fichier .env.

Contributeurs

raveriss - Développeur principal

Remarques

Ce projet suit les bonnes pratiques de Docker, notamment l'utilisation de Dockerfiles personnalisés pour chaque service et la gestion des volumes pour garantir la persistance des données. Aucun mot de passe n'est stocké dans les Dockerfiles et toutes les informations sensibles sont gérées via des variables d'environnement.

Ressources Utilisées

About

Inception: Création d'une infrastructure complète en utilisant Docker. Le projet implique la virtualisation de différents services Docker (NGINX, WordPress, MariaDB) avec docker-compose pour une gestion efficace des conteneurs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published