Heim >Backend-Entwicklung >PHP-Tutorial >So implementieren Sie die Docker-Containerisierung mit PHP
Mit der Entwicklung der Cloud-Computing-Technologie ist die Dockerisierung immer beliebter geworden. Im Prozess der Dockerisierung spielt auch PHP eine wichtige Rolle. In diesem Artikel erfahren Sie, wie Sie die Docker-Containerisierung mit PHP implementieren.
Zuerst müssen wir Docker und Docker Compose installieren, um schnell den PHP-Container zu erstellen, den wir in der lokalen Umgebung benötigen. Wenn Sie Docker und Docker Compose noch nicht kennen, können Sie zunächst auf die offizielle Dokumentation zurückgreifen, um mehr darüber zu erfahren.
Der nächste Schritt besteht darin, die Docker-Datei zu schreiben. Hier definieren wir die Containerumgebung. Dort können Sie das erforderliche Basis-Image angeben, die erforderlichen Pakete installieren und etwaige Init-Skripte ausführen. Hier ist ein einfaches Dockerfile-Beispiel:
FROM php:7.4-apache RUN apt-get update && apt-get install -y git libzip-dev && docker-php-ext-install zip && docker-php-ext-enable zip && rm -rf /var/lib/apt/lists/* WORKDIR /var/www/html COPY . . RUN chown -R www-data:www-data /var/www/html EXPOSE 80
Die obige Dockerfile verwendet das offizielle PHP:7.4-Apache-Image und installiert die Git- und libzip-dev-Pakete. Anschließend installieren wir die Zip-Erweiterung für PHP und aktivieren die Erweiterung. Kopieren Sie abschließend die gesamte Anwendung in den Container und stellen Sie sicher, dass die Ordnerberechtigungen richtig eingestellt sind. Schließlich machen wir Port 80 des Containers über den EXPOSE-Befehl verfügbar. Wenn Sie andere Ports haben, die verfügbar gemacht werden müssen, können Sie diese auch hier angeben.
Mit der Docker-Datei können wir den PHP-Container in der lokalen Umgebung erstellen. Normalerweise benötigen wir jedoch mehr Container, um die gesamte Anwendung zu erstellen. Zu diesem Zeitpunkt können wir Docker Compose verwenden, um mehrere Container zu verwalten. Das Folgende ist ein einfaches Beispiel für eine Docker Compose-Datei:
version: '3.3' services: web: build: context: . dockerfile: Dockerfile ports: - "8000:80" volumes: - .:/var/www/html depends_on: - mysql mysql: image: mysql:5.7 environment: MYSQL_RANDOM_ROOT_PASSWORD: "yes" MYSQL_DATABASE: "app_db" MYSQL_USER: "app_user" MYSQL_PASSWORD: "app_password" volumes: - db_data:/var/lib/mysql volumes: db_data:
Die obige Docker Compose-Datei definiert zwei Dienste: Web und MySQL. Der Webdienst verwendet die Docker-Datei, die wir zuvor geschrieben haben, um den Container zu erstellen, und ordnet den Port 80 des Containers dem lokalen Port 8000 zu, sodass wir lokal auf den Container zugreifen können. Darüber hinaus ordnen wir das aktuelle Verzeichnis dem Verzeichnis /var/www/html im Container zu, damit der Container auf unseren Anwendungscode zugreifen kann. Schließlich hängt der Webdienst auch vom MySQL-Dienst ab, dh wenn der MySQL-Dienst nicht gestartet wird, kann der Webdienst nicht gestartet werden.
Der MySQL-Dienst verwendet das offizielle MySQL:5.7-Image und es werden Umgebungsvariablen angegeben, um das Root-Passwort und das Datenbankkonto-Passwort festzulegen. Darüber hinaus verwenden wir Volumes, um MySQL-Daten beizubehalten.
Mit der Docker-Datei und der Docker Compose-Datei können wir den Container erstellen und starten. Um den Container zu erstellen, gehen Sie im Terminal in das Verzeichnis, in dem sich die Docker Compose-Datei befindet, und führen Sie den folgenden Befehl aus:
docker-compose build
Dieser Befehl erstellt alle Container der Anwendung basierend auf der Docker Compose-Datei, einschließlich Web und MySQL Behälter.
Führen Sie als Nächstes den folgenden Befehl aus, um die Anwendung zu starten:
docker-compose up
Dadurch werden alle Container gestartet und miteinander verbunden. Wir können auf unsere Anwendung zugreifen, indem wir http://localhost:8000 in den Browser eingeben.
Die oben genannten Schritte sind die grundlegenden Schritte zur Implementierung der Docker-Containerisierung mit PHP. Dieser Ansatz ist eine praktische Möglichkeit, die Anwendungsbereitstellung und -wartung effizienter zu gestalten. Durch Docker können wir schnell von der Entwicklungsumgebung zur Produktionsumgebung wechseln und gleichzeitig die Konsistenz der Anwendung in verschiedenen Umgebungen sicherstellen. Bei Bedarf kann es geändert und an Ihre Anwendungsanforderungen angepasst werden. Natürlich ist Docker auch ein riesiges Werkzeug, das erfordert, dass wir es bei der Verwendung ausreichend verstehen und beherrschen.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Docker-Containerisierung mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!