Out-of-the-box-Lösungen für Docker Compose, Nginx und MariaDB: Richten Sie schnell eine PHP-Umgebung ein
Übersicht:
Bei der Entwicklung und Bereitstellung von PHP-Anwendungen ist es entscheidend, eine zuverlässige und einfach einzurichtende zu verwaltende Umgebung. Docker Compose, Nginx und MariaDB können eine Lösung zum schnellen Aufbau einer PHP-Umgebung bieten. In diesem Artikel erfahren Sie, wie Sie mit Docker Compose Container konfigurieren und ausführen, Nginx als Webserver verwenden, MariaDB als Datenbank verwenden und schnell eine PHP-Umgebung erstellen.
1. Docker und Docker Compose installieren:
Zuerst müssen wir Docker und Docker Compose auf dem lokalen Computer installieren. Installationsanleitungen für verschiedene Betriebssysteme finden Sie auf der offiziellen Docker-Website. Überprüfen Sie nach Abschluss der Installation, ob die Installation erfolgreich war. Sie können den folgenden Befehl im Terminal oder in der Eingabeaufforderung eingeben:
docker --version docker-compose --version
Wenn die Versionsnummer korrekt angezeigt werden kann, bedeutet dies, dass Docker und Docker Compose erfolgreich installiert wurden.
2. Erstellen Sie die Docker Compose-Datei:
Als nächstes müssen wir eine Datei namens docker-compose.yml erstellen und darin unsere Service- und Containerkonfiguration definieren.
version: '3' services: nginx: build: context: . dockerfile: nginx.dockerfile ports: - 80:80 depends_on: - php php: build: context: . dockerfile: php.dockerfile volumes: - ./src:/var/www/html mariadb: image: mariadb environment: - MYSQL_ROOT_PASSWORD=secret
Erklärung:
3. Dockerfile und Konfigurationsdateien erstellen:
Als nächstes müssen wir Dockerfile und Konfigurationsdateien erstellen, um beim Erstellen des Images die notwendigen Konfigurationen und Abhängigkeiten bereitzustellen.
FROM nginx COPY nginx.conf /etc/nginx/nginx.conf COPY default.conf /etc/nginx/conf.d/default.conf
Erklärung: Erstellen Sie ein neues Image aus dem offiziellen Nginx-Image und kopieren Sie dann die lokalen Dateien nginx.conf und default.conf an den entsprechenden Speicherort des Containers.
FROM php:7.4-fpm RUN apt-get update && apt-get install -y zlib1g-dev libzip-dev && docker-php-ext-install zip pdo_mysql COPY php.ini /usr/local/etc/php/conf.d/custom.ini
Erläuterung: Erstellen Sie ein neues Image aus dem offiziellen PHP-Image, verwenden Sie dann den Befehl apt-get, um die erforderlichen Abhängigkeiten zu installieren, und installieren Sie die Erweiterungen zip und pdo_mysql über docker-php-ext -install-Befehl. Kopieren Sie abschließend die lokale Datei php.ini in den Container.
user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } }
Erläuterung: Dies ist die Konfigurationsdatei von Nginx. Konfiguriert mit Standardprotokollpfaden, Ereigniseinstellungen, http-Einstellungen und einem grundlegenden Serverblock zur Bearbeitung von Anfragen und zur Übergabe der PHP-Verarbeitung an den PHP-Container.
server { location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Erläuterung: Dies ist die Standardkonfigurationsdatei von Nginx. Identisch mit den Serverblockeinstellungen in der Datei nginx.conf.
4. Beginnen Sie mit dem Erstellen und Ausführen des Containers:
Nachdem wir alle Konfigurationsdateien eingerichtet haben, können wir mit dem Erstellen und Ausführen des Containers beginnen. Gehen Sie in einem Terminal oder einer Eingabeaufforderung in das Verzeichnis, in dem sich die Datei docker-compose.yml befindet, und führen Sie den folgenden Befehl aus:
docker-compose up --build
Dieser Befehl startet den Prozess der Erstellung des Images und der Ausführung des Containers. Sobald der Vorgang abgeschlossen ist, sehen Sie, dass der Container ausgeführt wird und die PHP-Anwendung über http://localhost zugänglich ist.
Wenn Sie den Container im Hintergrund ausführen müssen, können Sie den folgenden Befehl verwenden:
docker-compose up -d --build
Dieser Befehl führt den Container im Daemon-Modus aus.
Zusammenfassung:
Mit sofort einsatzbereiten Lösungen für Docker Compose, Nginx und MariaDB können wir schnell eine PHP-Umgebung erstellen und verwalten. Die Portabilitäts- und Containerisierungsvorteile von Docker machen die Entwicklung und Bereitstellung von PHP-Anwendungen einfacher und zuverlässiger. Ich hoffe, dieser Artikel war hilfreich für Sie. Weitere Informationen zu den Codebeispielen finden Sie in den in diesem Artikel erwähnten Konfigurationsdateien.
Das obige ist der detaillierte Inhalt vonOut-of-the-box-Lösungen für Docker Compose, Nginx und MariaDB: Richten Sie schnell eine PHP-Umgebung ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!