Maison > Article > développement back-end > Comment déployer des applications Laravel dans Docker avec seulement deux commandes
Bonjour ! C'est Jorge. Cela fait un moment depuis mon dernier message, et celui-ci pourrait ressembler à celui que vous avez peut-être lu ici. Mais venez et je vous promets que vous n'aurez plus jamais à créer d'images Docker à partir de zéro pour vos projets Laravel !
Vous en avez assez de configurer Docker à partir de zéro pour chaque projet Laravel ? Ceci est le lien vers le référentiel Github pour le projet Laradocker, un tout nouveau package de composition qui configure votre projet Laravel avec Docker avec seulement ces deux commandes simples :
# Run these commands inside your Laravel project: composer require --dev jdsantos/laradocker php artisan laradocker:install # That's it! Follow the instructions and you are done!
Sur votre chemin, veuillez laisser une étoile ⭐ sur le repo pour montrer votre soutien.
Merci d'avance ❤️
Dans mon article précédent, je vous ai présenté LANPOD, une stratégie de déploiement Laravel/Docker qui vous permet de fournir une application Laravel sur site ou dans des environnements cloud en s'appuyant sur une recette technologique éprouvée composée de laravel + alpine linux + nginx + php-fpm + opcache + docker vous avez absolument adoré.
Cette recette vous permet de déployer votre application dans une image logicielle redistribuable, virtualisée, indépendante du système d'exploitation, autonome et autoconfigurée et de l'exécuter dans des moteurs de virtualisation tels que Docker ou Podman. Il inclut même des éléments prêts à l'emploi comme la configuration soignée du superviseur pour gérer vos files d'attente, de belles valeurs par défaut pour php, opcache et php-fpm, nginx, etc.
Tout va bien, mais...
Quelque chose n'allait pas.
Alors que LANPOD en tant que référentiel de modèles sur Github était un point de départ utile pour une toute nouvelle application Laravel, et bien mieux que de devoir câbler la virtualisation encore et encore sur les mêmes applications structurées, c'était complètement inutile pour un projet déjà existant/ancien. Vous devrez MANUELLEMENT extraire les fichiers et répertoires de recettes de nombreux autres éléments et les adapter à vos besoins. Comme il était censé être un référentiel uniquement composé de modèles, il n'incluait pas de support de base de données natif (car si c'était le cas, il devrait tous les inclure dans la même image), et si une mise à jour à la configuration était nécessaire, ce serait un enfer sur terre rien que de savoir comment et quoi changer dans votre projet. ?La solution
"Ça y est ! Je vais créer un package Laravel que je pourrai installer dans mes projets ! Faisons ça !"
Alors, l'aventure a commencé !
J'ai commencé à échafauder mon tout nouveau projet Composer avec toutes les dépendances requises pour développer et tester les packages Laravel, notamment orchestra/testbench, laravel/pint et larastan/larastan.
Après cela, j'ai mis en place dès le début un référentiel Github pour le projet, des fonctionnalités de publication automatique sur Packagist, le référentiel de packages PHP Composer, et j'ai généré des actions Github pour un pipeline CI/CD super simple pour exécuter mes tests sur chaque poussée.
Avec tout cela en place, le reste n'était que des cacahuètes : j'ai utilisé tous les fichiers de LANPOD comme de simples talons pour ce projet, et j'ai utilisé la simple console Artisan pour développer une interface utilisateur assez idiote et basique pour installer cette recette :
Après avoir lancé Laradocker dans votre projet, le programme d'installation vous guidera à travers les étapes nécessaires pour créer les dépendances appropriées dans l'image, telles que la prise en charge de la connectivité de la base de données et vous avez terminé !
Tous les fichiers sont générés en un instant et copiés dans votre projet !
??Le code
. Sur votre chemin, veuillez laisser une étoile ⭐ sur le dépôt pour montrer votre soutien. Merci d'avance ❤️
? Environnement
Matériel
Intel i7-8750H
Windows 11 Entreprise
À bientôt ! ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!