PHP
Docker-Bereitstellung
Suche…
Einführung
Docker ist eine sehr beliebte Containerlösung, die häufig für die Bereitstellung von Code in Produktionsumgebungen verwendet wird. Es vereinfacht das Verwalten und Skalieren von Webanwendungen und Microservices.
Bemerkungen
In diesem Dokument wird davon ausgegangen, dass das Andockfenster installiert ist und der Daemon ausgeführt wird. Sie können sich auf die Docker-Installation beziehen, um zu erfahren , wie Sie diese installieren.
Holen Sie sich ein Docker-Image für PHP
Um die Anwendung auf Docker bereitzustellen, müssen wir das Image zunächst von der Registrierung abrufen.
docker pull php
Dadurch erhalten Sie die neueste Version des Images aus dem offiziellen PHP-Repository . Im Allgemeinen wird PHP
normalerweise zum Implementieren von Webanwendungen verwendet. Daher benötigen wir einen http-Server, der zum Image passt. php:7.0-apache
Image wird mit Apache vorinstalliert, um die Bereitstellung schnell zu erleichtern.
Dockerfile schreiben
Dockerfile
wird verwendet, um das benutzerdefinierte Image zu konfigurieren, das mit den Webanwendungscodes erstellt wird. Erstellen Sie eine neue Datei Dockerfile
im Stammordner des Projekts, und Dockerfile
den folgenden Inhalt in denselben Ordner ein
FROM php:7.0-apache
COPY /etc/php/php.ini /usr/local/etc/php/
COPY . /var/www/html/
EXPOSE 80
Die erste Zeile ist ziemlich geradlinig und wird verwendet, um zu beschreiben, mit welchem Image ein neues Image erstellt werden soll. Das gleiche könnte in jeder anderen spezifischen Version von PHP aus der Registry geändert werden.
Die zweite Zeile besteht einfach darin, die php.ini
Datei in unser Bild hochzuladen. Sie können diese Datei jederzeit in einen anderen benutzerdefinierten Dateispeicherort ändern.
Die dritte Zeile kopiert die Codes im aktuellen Verzeichnis nach /var/www/html
, unserer Webroot. Denken Sie an /var/www/html
im Bild.
Die letzte Zeile würde einfach Port 80 im Docker-Container öffnen.
Dateien ignorieren
In einigen Fällen gibt es möglicherweise Dateien, die Sie nicht auf dem Server haben möchten, wie z. B. die Umgebungskonfiguration usw. Nehmen wir an, wir haben unsere Umgebung in .env
. Um diese Datei zu ignorieren, können Sie sie einfach .dockerignore
im Stammverzeichnis unserer Codebase hinzufügen.
Gebäudebild
Das Erstellen eines Images ist nicht spezifisch für php
, aber um das oben beschriebene Image zu erstellen, können wir es einfach verwenden
docker build -t <Image name> .
Sobald das Image erstellt ist, können Sie dasselbe mit überprüfen
docker images
Dies würde alle in Ihrem System installierten Images auflisten.
Anwendungscontainer starten
Sobald wir ein Bild bereit haben, können wir dasselbe starten. Um einen container
aus dem Bild zu erstellen, verwenden Sie
docker run -p 80:80 -d <Image name>
Im obigen -p 80:80
würde -p 80:80
den Port 80
Ihres Servers an den Port 80
des Containers weiterleiten. Das Flag -d
, dass der Container als Hintergrundjob ausgeführt werden soll. Das Finale gibt an, welches Image zum Erstellen des Containers verwendet werden soll.
Container prüfen
Um laufende Container zu überprüfen, verwenden Sie einfach
docker ps
Dadurch werden alle Container aufgelistet, die auf dem Docker-Daemon ausgeführt werden.
Anwendungsprotokolle
Protokolle sind sehr wichtig, um die Anwendung zu debuggen. Um sie zu überprüfen, verwenden Sie
docker logs <Container id>