Maison  >  Article  >  développement back-end  >  Comment déployer des applications Laravel dans Docker avec seulement deux commandes

Comment déployer des applications Laravel dans Docker avec seulement deux commandes

WBOY
WBOYoriginal
2024-09-08 06:33:06833parcourir

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 !

⚡TL;DR

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 ❤️

?La trame de fond

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

?La douleur

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

Ayant déjà ressenti cette douleur moi-même assez souvent, surtout lorsque je devais ajouter encore et encore à la main les dépendances de la base de données au Dockerfile/Containerfile, j'ai réalisé : à quel point ce serait cool d'avoir cette recette comme dépendance dans mes projets , de manière à ce qu'il soit facile à installer, désinstaller et mettre à jour à l'avenir ?

"Ça y est ! Je vais créer un package Laravel que je pourrai installer dans mes projets ! Faisons ça !"

How I deploy Laravel apps in Docker with just two commandsAlors, 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 :

How I deploy Laravel apps in Docker with just two commandsAprè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é !

How I deploy Laravel apps in Docker with just two commandsTous les fichiers sont générés en un instant et copiés dans votre projet !

?‍?Le code

Ce package est entièrement gratuit et open-source et

vous pouvez trouver le code source ici !

. Sur votre chemin, veuillez laisser une étoile ⭐ sur le dépôt pour montrer votre soutien. Merci d'avance ❤️

? Environnement

C'est l'environnement que j'ai utilisé :

Matériel

Intel i7-8750H
  • 24 Go de RAM
  • SSD 250 Go
  • Logiciel

Windows 11 Entreprise
  • Docker Desktop avec backend WSL
  • Code Visual Studio
  • J'espère que cela vous a aidé de quelque manière que ce soit.

À 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn