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

So fügen Sie Docker dynamisch Ports hinzu, ohne das Image neu zu erstellen

Manchmal müssen Sie während des Betriebs freigege...

Lösen Sie das Problem des Vergessens von Passwörtern in MySQL 5.7 unter Linux

1. Problem Passwort für mysql5.7 unter Linux verg...

Webdesign-TabIndex-Element

TabIndex dient zum Drücken der Tabulatortaste, um ...

Zusammenfassung der MySQL-Datenbanknutzungsspezifikationen

Einführung: Ich glaube, dass jeder einige Dokumen...

Javascript-Betriebsmechanismus „Event Loop“

Inhaltsverzeichnis 1. Vier Konzepte 1. JavaScript...

Der neueste Linux-Installationsprozess von Tomcat8

Herunterladen https://tomcat.apache.org/download-...

Eine kurze Erläuterung zu „Group By“ in MySQL

Inhaltsverzeichnis 1. Einleitung 2. Bereiten Sie ...

Anwendung von Hadoop-Zählern und Datenbereinigung

Datenbereinigung (ETL) Vor dem Ausführen des MapR...

Lösung zur Konvertierung in Inline-Styles in CSS (css-inline)

Sprechen Sie über die Szene E-Mail senden Einbett...

JS implementiert die Drag- und Platzhalterfunktionen von Elementen

In diesem Blogbeitrag geht es um eine Schwierigke...

jQuery implementiert die Formularvalidierung

Verwenden Sie jQuery, um die Formularvalidierung ...