


Containerisieren Sie PHP-Anwendungen mit Docker Compose, Nginx und MariaDB
Titel: Containerisierung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB
Einführung: Mit der rasanten Entwicklung der Containerisierungstechnologie achten immer mehr Entwickler auf die Verwendung von Docker für die Anwendungsbereitstellung und -verwaltung. In diesem Artikel wird die Verwendung von Docker Compose, Nginx und MariaDB zur Implementierung der Containerisierung von PHP-Anwendungen vorgestellt und spezifische Codebeispiele gegeben, um den Lesern ein besseres Verständnis und eine bessere Übung zu ermöglichen.
- Einführung in Docker Compose
Docker Compose ist ein Tool zum Definieren und Ausführen mehrerer Docker-Container. Es verwendet YAML-Dateien, um die Dienste, das Netzwerk, den Speicher usw. einer Anwendung zu konfigurieren. Mit Docker Compose können wir komplexe Multi-Container-Anwendungen einfacher definieren und verwalten. - Einführung in Nginx
Nginx ist ein leistungsstarker HTTP- und Reverse-Proxy-Server, der zur Bereitstellung statischer Inhalte und Proxy-dynamischer Inhalte verwendet werden kann. In Containeranwendungen wird Nginx häufig als Front-End-Proxyserver verwendet, der für die Annahme von Clientanfragen und deren Weiterleitung an den Back-End-Anwendungsdienst verantwortlich ist. - Einführung in MariaDB
MariaDB ist ein relationales Open-Source-Datenbankverwaltungssystem auf Basis von MySQL. Es bietet zuverlässige Leistungs- und Sicherheitsfunktionen und wird häufig in Webanwendungen und Cloud-Computing-Umgebungen eingesetzt. - Architekturdesign
Unsere containerisierte PHP-Anwendung besteht aus drei Diensten: Nginx, PHP-FPM und MariaDB. Nginx wird verwendet, um die HTTP-Anfrage des Clients zu empfangen und zu verarbeiten, dann die dynamische Anfrage an PHP-FPM weiterzuleiten und die statische Anfrage an den Client zurückzugeben. PHP-FPM ist der PHP FastCGI-Prozessmanager, der für die Verarbeitung und Interpretation von PHP-Code verantwortlich ist. MariaDB wird zum Speichern von Anwendungsdaten verwendet.
Hier ist ein Beispiel unserer Docker Compose-Konfigurationsdatei (docker-compose.yml):
version: '3' services: webserver: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro depends_on: - php php: image: php:7.4-fpm volumes: - ./php.ini:/usr/local/etc/php/php.ini:ro - ./code:/var/www/html depends_on: - db db: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: your_password MYSQL_DATABASE: your_database MYSQL_USER: your_username MYSQL_PASSWORD: your_password volumes: - ./data:/var/lib/mysql
Wir haben drei Dienste, die durch diese Konfigurationsdatei definiert sind: Webserver, PHP und DB. Der Webserver-Dienst verwendet das Nginx-Image und ordnet Port 80 des Hosts Port 80 des Containers zu. Der PHP-Dienst verwendet das PHP-FPM-Image und mountet das Codeverzeichnis im Container. Der Datenbankdienst verwendet die MariaDB-Spiegelung und legt den Benutzernamen, das Kennwort und das Datenspeicherverzeichnis der Datenbank fest.
- Konfigurationsdateien und Codebeispiele
Wir müssen außerdem die Nginx-Konfigurationsdatei (nginx.conf) und die PHP-Konfigurationsdatei (php.ini) bereitstellen. Nachfolgend finden Sie Beispiele:
nginx.conf:
worker_processes auto; events { worker_connections 1024; } http { server { listen 80; location / { root /var/www/html; index index.php index.html index.htm; try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass php:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; } } }
php.ini:
date.timezone = Asia/Shanghai upload_max_filesize = 2M post_max_size = 8M memory_limit = 128M
Im obigen Beispiel konfiguriert nginx.conf den Überwachungsport und die Proxy-Regeln von Nginx, um dynamische Anfragen an den PHP-Dienst weiterzuleiten. php.ini konfiguriert einige allgemeine PHP-Parameter, wie z. B. Zeitzone und Einschränkungen beim Hochladen von Dateien.
- Containerisierte Anwendungen ausführen
Nachdem die Konfigurationsdatei fertig ist, können wir die Containeranwendung über den folgenden Befehl starten:
$ docker-compose up -d
Nach dem Ausführen dieses Befehls lädt Docker den Container automatisch herunter und startet ihn entsprechend der Konfigurationsdatei. Mit dem Befehl docker-compose ps
können Sie laufende Container anzeigen.
- Zusammenfassung
In diesem Artikel wird erläutert, wie Sie mit Docker Compose, Nginx und MariaDB die Containerisierung von PHP-Anwendungen implementieren, und es werden spezifische Codebeispiele aufgeführt. Wir hoffen, dass die Leser durch die Lektüre dieses Artikels die Containerisierungstechnologie besser verstehen und üben und die Effizienz der Anwendungsbereitstellung und -verwaltung verbessern können.
Das Obige ist nur ein einfaches Beispiel, die tatsächliche Situation kann komplexer sein und der Leser kann entsprechend seinen eigenen Bedürfnissen entsprechende Anpassungen und Erweiterungen vornehmen. Ich hoffe, dieser Artikel kann den Lesern etwas helfen!
Das obige ist der detaillierte Inhalt vonContainerisieren Sie PHP-Anwendungen mit Docker Compose, Nginx und MariaDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Vier Möglichkeiten zum Beenden von Docker Container: Verwenden Sie Strg D im Befehl Container Terminal ENGEBOT IM Container Terminal verwenden Sie Docker Stop & lt; container_name & gt; Befehl verwenden Sie Docker Kill & lt; container_name & gt; Befehl im Host -Terminal (Force Exit)

Die Schritte zur Aktualisierung eines Docker -Images sind wie folgt: Ziehen Sie das neueste Bild -Tag. Neues Bild Löschen Sie das alte Bild für ein bestimmtes Tag (optional) den Container neu (falls erforderlich) neu starten Sie neu (falls erforderlich).

Methoden zum Kopieren von Dateien in externen Hosts in Docker: Verwenden Sie den Befehl Docker CP: Docker CP [Optionen] & lt; Containerpfad & gt; & lt; Host -Pfad & gt;. Verwenden von Datenvolumina: Erstellen Sie ein Verzeichnis auf dem Host und verwenden Sie den Parameter -V, um das Verzeichnis in den Container zu montieren, um den Container zu erstellen, um eine bidirektionale Dateisynchronisation zu erreichen.

So starten Sie den Docker -Container neu: Holen Sie sich die Container -ID (Docker PS); Stop den Container (Docker Stop & lt; Container_id & gt;); Starten Sie den Container (Docker start & lt; container_id & gt;); Stellen Sie sicher, dass der Neustart erfolgreich ist (Docker PS). Andere Methoden: Docker Compose (Docker-Compose Neustart) oder Docker-API (siehe Docker-Dokumentation).

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

Docker Process Viewing -Methode: 1. Docker Cli -Befehl: Docker PS; 2. SYSTEMD CLI -Befehl: SystemCTL Status Docker; 3.. Docker Compose CLI Command: Docker-Compose PS; 4. Process Explorer (Windows); 5. /proc -Verzeichnis (Linux).

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).
