Heim > Artikel > Backend-Entwicklung > Plattformübergreifende Bereitstellung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB
Plattformübergreifende Bereitstellung von PHP-Anwendungen über Docker Compose, Nginx und MariaDB erfordert spezifische Codebeispiele
Mit der Entwicklung von Cloud Computing und Containerisierungstechnologie ist die plattformübergreifende Bereitstellung zu einem heißen Thema geworden. In diesem Artikel stellen wir vor, wie Sie mit Docker Compose, Nginx und MariaDB eine plattformübergreifende Bereitstellung von PHP-Anwendungen erreichen, und geben spezifische Codebeispiele.
Docker Compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. Es verwendet einfache YAML-Dateien, um die Dienst-, Netzwerk- und Speicheraspekte der Anwendung zu konfigurieren. Nginx ist ein Hochleistungs-Webserver und Reverse-Proxy-Server, der zur Verteilung des Datenverkehrs an mehrere containerisierte PHP-Anwendungen verwendet werden kann. MariaDB ist ein relationales Open-Source-Datenbankverwaltungssystem, das zum Speichern von Anwendungsdaten verwendet werden kann.
Zuerst müssen wir eine Docker Compose-Konfigurationsdatei schreiben, um die Dienste unserer PHP-Anwendung zu definieren. Hier ist ein einfaches Beispiel:
version: '3' services: web: build: context: . dockerfile: Dockerfile ports: - 80:80 depends_on: - db db: image: mariadb environment: - MYSQL_ROOT_PASSWORD=123456 volumes: - db_data:/var/lib/mysql volumes: db_data:
In der Konfigurationsdatei oben haben wir zwei Dienste definiert: web und db. Der Webdienst ist unsere PHP-Anwendung und verwendet eine Datei namens Dockerfile, um das Image zu erstellen. Wir ordnen den Port 80 des Containers dem Port 80 des Hosts zu, damit von außen auf unsere Anwendung zugegriffen werden kann. Der DB-Dienst verwendet das offizielle Image von MariaDB und legt das Root-Passwort und das Datenvolumen fest.
Als nächstes müssen wir eine Docker-Datei schreiben, um ein Image unserer PHP-Anwendung zu erstellen. Hier ist ein einfaches Beispiel:
FROM php:7.4-fpm WORKDIR /app COPY . /app RUN apt-get update && apt-get install -y nginx && docker-php-ext-install pdo_mysql CMD service nginx start && php-fpm EXPOSE 80
In der Docker-Datei oben erstellen wir unser Image basierend auf dem offiziellen php:7.4-fpm-Image. Wir legen das Arbeitsverzeichnis auf /app fest und kopieren alle Dateien im aktuellen Verzeichnis in das /app-Verzeichnis des Containers. Als nächstes installierten wir die Erweiterung nginx und pdo_mysql mit dem Befehl apt-get. Schließlich legen wir den Befehl beim Starten des Containers fest, einschließlich des Startens von Nginx und PHP-FPM sowie des Öffnens von Port 80.
Nach Abschluss der obigen Konfiguration können wir den folgenden Befehl verwenden, um unsere PHP-Anwendung zu starten:
docker-compose up -d
Dieser Befehl erstellt und startet den Container unserer PHP-Anwendung basierend auf der Docker Compose-Konfigurationsdatei. Der Parameter -d gibt an, dass der Container im Hintergrund ausgeführt wird.
Sobald der Container erfolgreich gestartet wurde, können wir unsere PHP-Anwendung anzeigen, indem wir über den Browser auf http://localhost zugreifen. Nginx verteilt den Datenverkehr an unseren PHP-Anwendungscontainer und die Anwendung stellt dann eine Verbindung zur MariaDB-Datenbank her, um die Daten abzurufen und zu speichern.
Zusammenfassend lässt sich sagen, dass die plattformübergreifende Bereitstellung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB problemlos möglich ist. Die Datei docker-compose.yml kann die Dienste der Anwendung definieren und die Docker-Datei kann das Image der Anwendung erstellen. Verwenden Sie den Docker Compose-Befehl, um die Container Ihrer Anwendung einfach zu starten und zu verwalten. Diese plattformübergreifende Bereitstellungslösung ist nicht nur einfach und effizient, sondern verfügt auch über eine gute Skalierbarkeit und Wartbarkeit.
Das Obige sind spezifische Codebeispiele für die Verwendung von Docker Compose, Nginx und MariaDB zur Implementierung der plattformübergreifenden Bereitstellung von PHP-Anwendungen. Hoffe das hilft!
Das obige ist der detaillierte Inhalt vonPlattformübergreifende Bereitstellung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!