Bienvenue dans le projet Docker DevContainer! Ce projet utilise les DevContainers pour simplifier le développement et la configuration d'un environnement de développement Symfony
Avant de commencer, assurez-vous d'avoir les éléments suivants installés sur votre machine :
-
Clonez ce dépôt sur votre machine locale :
git clone https://github.com/votre-utilisateur/votre-repo.git
-
Ouvrez le projet dans Visual Studio Code :
code votre-repo
-
Ouvrez le dossier
.devcontaineret cliquez sur "Reopen in Container" pour lancer le DevContainer.
Ce projet inclut un Dockerfile permettant de créer une image Docker optimisée pour exécuter une application PHP avec Symfony. Il intègre plusieurs outils et dépendances essentielles pour le développement.
- Utilise PHP 8.3 CLI comme image de base.
- Installe des outils essentiels :
git,libicu-dev,libpq-dev,libzip-dev,unzip,wget,zip,curl,htop. - Nettoie le cache après l'installation pour optimiser la taille de l’image.
- Utilise
mlocati/php-extension-installerpour ajouter les extensions suivantes : bcmath,gd,intl,mbstring,ctype,pdo_pgsql,tokenizer,pdo_mysql,mysqli,zip,xml.
- Installe Composer pour la gestion des dépendances PHP.
- Installe le Symfony CLI pour faciliter le développement Symfony.
- Ajoute Node.js 18 et Yarn pour gérer les dépendances frontend.
- Ajoute des alias utiles (
ll,ss,slog). - Personnalise l’invite de commande (PS1) pour afficher des informations utiles.
- Définit le répertoire
/workspacecomme dossier de travail par défaut.
docker build -t mon-image .docker run -it --rm -v $(pwd):/workspace -p 8000:8000 mon-image bashssCe Dockerfile est conçu pour faciliter le développement avec Symfony et inclut tous les outils nécessaires pour un environnement de travail prêt à l’emploi. 🎯
Ce projet inclut un fichier docker-compose.yml permettant de lancer un environnement de développement complet pour une application Symfony. Il comprend plusieurs services essentiels : PHP, une base de données MariaDB, PhpMyAdmin et un serveur SMTP pour le développement des emails.
- Utilise l’image symfony_dev_container_php8.3:latest construite à partir du
Dockerfile. - Monte le projet local dans
/workspacepour un développement en direct. - Expose le port 8000 pour l’exécution de Symfony.
- Définit les variables d’environnement comme
DATABASE_URLetMAILER_DSN. - Commande de démarrage :
sleep infinity(le conteneur reste actif).
- Utilise MariaDB pour stocker les données.
- Redémarre automatiquement en cas d’arrêt.
- Définit les variables d’environnement pour le mot de passe root, le nom de la base de données et l’utilisateur.
- Monte un volume
database_datapour persister les données. - Expose le port 3306 pour les connexions à la base de données.
- Utilise l’image officielle phpmyadmin.
- Exposé sur le port 8080 pour gérer la base de données via une interface graphique.
- Connecté automatiquement au service
database.
- Utilise Mailpit pour tester l’envoi d’e-mails en local.
- Expose les ports :
- 1025 pour le SMTP
- 8025 pour l’interface web (accès :
http://localhost:8025).
- Désactive les restrictions d’authentification pour simplifier les tests.
1️⃣ Lancer tous les services
docker-compose up -d2️⃣ Accéder aux services
- Symfony (si démarré via
symfony serve) → http://localhost:8000 - PhpMyAdmin → http://localhost:8080
- Mailpit (test des e-mails) → http://localhost:8025
3️⃣ Arrêter les services
docker-compose downCe docker-compose.yml est conçu pour un environnement de développement Symfony complet, avec une base de données persistante et des outils de gestion simplifiés. 🚀