Beispiel für die Bereitstellung einer Laravel-Anwendung mit Docker

Beispiel für die Bereitstellung einer Laravel-Anwendung mit Docker
  • Das in diesem Artikel verwendete PHP-Basisimage ist: php:7.3-apache
  • Die Laravel-Version in diesem Artikel ist: laravel:5.8.*
  • Über Warteschlangen und Aufgabenplanung schreiben wir im nächsten Artikel

1. Bereiten Sie unsere Laravel-Anwendung vor

# Führen Sie den Mix-Befehl aus, um JS-, CSS- und IMG-Dateien zu verpacken. Wenn Sie Mix nicht verwenden, können Sie die NPM-Installation überspringen.
npm-Produktion ausführen
# Installieren Sie Abhängigkeiten in composer.lock composer install --ignore-platform-reqs --optimize-autoloader --no-dev

2. Bereiten Sie die Apache-Konfigurationsdatei docker/000-default.conf vor

<VirtuellerHost *:80>
 # Die ServerName-Direktive legt das Anforderungsschema, den Hostnamen und den Port fest,
 # der Server verwendet, um sich zu identifizieren. Dies wird beim Erstellen verwendet
 # Umleitungs-URLs. Im Kontext virtueller Hosts ist der ServerName
 # gibt an, welcher Hostname im Host:-Header der Anfrage erscheinen muss, um
 # passt zu diesem virtuellen Host. Für den Standard-Virtual-Host (diese Datei) ist dies
 #-Wert ist nicht entscheidend, da er unabhängig davon als Host der letzten Instanz verwendet wird.
 # Sie müssen es jedoch für jeden weiteren virtuellen Host explizit festlegen.
 #ServerName www.example.com

 ServerAdmin [email protected]
 Dokumentstammverzeichnis /var/www/html/public

 # Verfügbare Loglevel: trace8, ..., trace1, debug, info, notice, warn,
 # Fehler, kritisch, Alarm, Notfall.
 # Es ist auch möglich, den Loglevel für bestimmte
 # Module, z. B.
 #LogLevel info ssl:warn

 Fehlerprotokoll ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log kombiniert

 # Für die meisten Konfigurationsdateien aus conf-available/, die
 # global aktiviert oder deaktiviert werden, ist es möglich,
 # eine Zeile für nur einen bestimmten virtuellen Host einschließen. Zum Beispiel die
 # Die folgende Zeile aktiviert die CGI-Konfiguration nur für diesen Host
 # nachdem es mit „a2disconf“ global deaktiviert wurde.
 #Conf-available/serve-cgi-bin.conf einschließen
</VirtualHost>

3. Bereiten Sie das Dockerfile vor

VON php:7.3-apache

LABEL-Betreuer="[email protected]"

# Zeitzone ARG TZ=Asia/Shanghai einstellen
ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# Software-Cron installieren
RUN set -eux \
 && apt-get update \
 && apt-get install -y --no-install-recommends cron \
 && apt-get autoremove \
 && apt-get autoclean \
 && apt-get sauber \
 && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
 
# Erweiterung ENV PHP_EXTENSION installieren \
 pdo_mysql \
 bcmath
ENV PECL_EXTENSION \
 Redis
FÜHREN SIE DOCKER-PHP-EXT-INSTALL $PHP_EXTENSION \ AUS
 && pecl installiere $PECL_EXTENSION \
 && docker-php-ext-enable $PECL_EXTENSION \
    opcache \
 && a2enmod neu schreiben
 
# Zugangsport EXPOSE 80

ARG APP_ENV=Entwicklung
ENV APP_ENV ${APP_ENV}

KOPIEREN --chown=www-data:www-data . /var/www/html
KOPIEREN Sie docker/000-default.conf /etc/apache2/sites-available/000-default.conf
ARBEITSVERZEICHNIS /var/www/html

4. Dockerignore-Datei vorbereiten: .dockerignore (optional)

/Knotenmodule
/.dockerignore
/Dockerdatei

5. Bereiten Sie die Image-Eintragsdatei vor: docker-entrypoint.sh (optional)

Beachten Sie, dass diese Datei Ausführungsberechtigungen erfordert, diese Eintragsdatei jedoch nicht erforderlich ist. Sie dient lediglich dazu, einige Cache-Befehle auszuführen, bevor die Anwendung ausgeführt wird. Klicken Sie hier, um mehr darüber zu erfahren.

#!/usr/bin/env bash

PHP Artisan Cache: löschen
PHP Artisan-Konfiguration: Cache
php Artisan-Route:Cache
PHP Artisan-Ansicht:Cache

Apache2-Vordergrund

6. Ausführen des Images

docker run -p 80:80 .

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zur Installation der Laravel-Entwicklungsumgebung mit Docker
  • Detailliertes Tutorial zur Verwendung von Docker zum Erstellen einer lokalen Laravel-Umgebung
  • So verwenden Sie Docker Compose zum Orchestrieren von Laravel-Anwendungen
  • Detaillierte Erklärung zur Verwendung von Docker zum Erstellen einer Entwicklungsumgebung für Laravel- und Vue-Projekte
  • Docker stellt Laravel-Anwendung bereit, um Warteschlangen- und Aufgabenplanung zu realisieren
  • Führen Sie die Schritte zum Erstellen einer Laravel-Entwicklungsumgebung mit Docker aus

<<:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.23 Winx64 unter Win10

>>:  So verwenden Sie den Skeleton-Bildschirm im Vue-Projekt

Artikel empfehlen

Ausführliche Erklärung verschiedener binärer Objektbeziehungen in JavaScript

Inhaltsverzeichnis Vorwort Beziehungen zwischen v...

Drei Möglichkeiten, um zu verhindern, dass MySQL doppelte Daten einfügt

Erstellen einer neuen Tabelle CREATE TABLE `Perso...

Mysql-Operation zum Abrufen von Tabellenkommentarfeldern

Ich werde nicht viel Unsinn erzählen, schauen wir...

Beispielanweisungen für Indizes und Einschränkungen in MySQL

Fremdschlüssel Abfrage, bei welchen Tabellen der ...

Detaillierte Erklärung der JS-Homologiestrategie und CSRF

Inhaltsverzeichnis Überblick Same-Origin-Policy (...

JavaScript-Implementierung von Lupendetails

Inhaltsverzeichnis 1. Rendern 2. Umsetzungsprinzi...

Hilfedokument „MySQL-Lernhinweise“

Systemhilfe anzeigen help contents mysql> Hilf...

Formel und Berechnungsmethode zur Schätzung der Server-Parallelität

Vor Kurzem musste ich den Server erneut einem Str...