Hallo! Es ist Jorge. Seit meinem letzten Beitrag ist schon eine Weile vergangen, und dieser klingt vielleicht genauso wie einer, den Sie vielleicht hier gelesen haben. Aber kommen Sie vorbei und ich verspreche Ihnen, dass Sie nie wieder Docker-Images von Grund auf für Ihre Laravel-Projekte erstellen müssen!
Müden Sie es, Docker für jedes Laravel-Projekt von Grund auf neu zu konfigurieren? Dies ist der Link zum Github-Repository für das Laradocker-Projekt, ein brandneues Composer-Paket, das Ihr Laravel-Projekt mit Docker mit nur diesen beiden einfachen Befehlen einrichtet:
# 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!
Bitte hinterlassen Sie auf dem Weg dorthin einen Stern ⭐ auf dem Repo, um Ihre Unterstützung zu zeigen.
Vielen Dank im Voraus ❤️
In meinem vorherigen Beitrag habe ich Ihnen LANPOD eine Laravel/Docker-Bereitstellungsstrategie vorgestellt, die es Ihnen ermöglicht, eine Laravel-App vor Ort oder in Cloud-Umgebungen bereitzustellen, die auf einem kampferprobten technischen Rezept basiert, das aus Laravel + Alpine Linux + Nginx besteht + php-fpm + opcache + docker Du hast es absolut geliebt.
Mit diesem Rezept können Sie Ihre App in einem weiterverteilbaren, virtualisierten, betriebssystemunabhängigen, eigenständigen und selbstkonfigurierten Software-Image bereitstellen und in Virtualisierungs-Engines wie Docker oder Podman ausführen. Es enthält sogar sofort einsatzbereite Dinge wie die übersichtliche Konfiguration des Supervisors für die Handhabung Ihrer Warteschlangen, nette Standardeinstellungen für PHP, Opcache und PHP-FPM, Nginx usw.
Alles gut, aber...
Etwas stimmte nicht.
Während LANPOD als Vorlagen-Repository auf Github ein hilfreicher Ausgangspunkt für eine brandneue Laravel-App war und viel besser war, als die Virtualisierung immer wieder auf denselben strukturierten Apps verkabeln zu müssen, Für ein bereits bestehendes/altes Projekt war es völlig nutzlos. Sie müssten die Rezeptdateien und Verzeichnisse der vielen anderen Dinge MANUELL extrahieren und an Ihre Bedürfnisse anpassen. Da es sich um ein reines Vorlagen-Repository handeln sollte, enthielt es keine native Datenbankunterstützung (denn wenn dies der Fall wäre, müsste es alle im selben Image enthalten) und bei einem Update Da die Konfiguration erforderlich war, wäre es die Hölle auf Erden, nur zu wissen, wie und was Sie an Ihrem Projekt ändern sollten. ?Die Lösung
"Das ist es! Ich werde ein Laravel-Paket erstellen, das ich in meinen Projekten installieren kann! Lass uns das machen!"
So, das Abenteuer begann!
Ich habe damit begonnen, mein brandneues Composer-Projekt mit allen erforderlichen Abhängigkeiten auszustatten, um Laravel-Pakete zu entwickeln und zu testen, einschließlich Orchestra/Testbench, Laravel/Pint und Larastan/Larastan.
Danach habe ich von Anfang an ein Github-Repository für das Projekt eingerichtet, Funktionen zur automatischen Veröffentlichung in Packagist, dem PHP Composer-Paket-Repository, eingerichtet und Github-Aktionen für eine supereinfache CI/CD-Pipeline zum Ausführen meiner Tests erstellt bei jedem Stoß.
Nachdem das alles erledigt war, war der Rest ein Kinderspiel: Ich habe alle LANPOD-Dateien als bloße Stubs für dieses Projekt verwendet und die einfache Artisan-Konsole verwendet, um eine ziemlich alberne und einfache Benutzeroberfläche für die Installation dieses Rezepts zu entwickeln:
Nachdem Sie Laradocker in Ihrem Projekt gestartet haben, führt Sie das Installationsprogramm durch die notwendigen Schritte, um die richtigen Abhängigkeiten im Image zu erstellen, wie z. B. Unterstützung für Datenbankkonnektivität, und schon sind Sie fertig!
Alle Dateien werden im Handumdrehen generiert und in Ihr Projekt kopiert!
??Der Code
. Bitte hinterlassen Sie auf dem Weg dorthin einen Stern ⭐ auf dem Repo, um Ihre Unterstützung zu zeigen. Vielen Dank im Voraus ❤️
? Umfeld
Hardware
Intel i7-8750H
Windows 11 Enterprise
Bis bald! ?
Das obige ist der detaillierte Inhalt vonWie ich Laravel-Apps in Docker mit nur zwei Befehlen bereitstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!