In der modernen PHP-Entwicklung wird die Verwendung von Container-Technologie für das Umgebungsmanagement immer häufiger eingesetzt. In diesem Artikel wird erläutert, wie Sie mithilfe der Docker-Containertechnologie die Entwicklungsumgebung von PHP-Projekten erstellen, konfigurieren und verwalten.
1. Warum Container-Technologie für das Umgebungsmanagement verwenden? Bei der herkömmlichen PHP-Entwicklung ist ein großer Konfigurations- und Installationsaufwand erforderlich, um eine für das aktuelle Projekt geeignete Umgebung zu erstellen. Wenn diese Konfigurationen einheitlich verpackt werden, können Portabilität, Konsistenz und Zuverlässigkeit während der Entwicklung verbessert werden. In diesem Fall ist der Einsatz der Containertechnologie unumgänglich.
Die Verwendung der Container-Technologie bietet insbesondere folgende Vorteile:
Umgebungskonsistenz: Durch die Verwendung von Containern kann sichergestellt werden, dass die Umgebung auf verschiedenen Maschinen und zwischen verschiedenen Entwicklern konsistent ist.Docker ist derzeit eine der beliebtesten Containertechnologien, daher wird in diesem Artikel Docker zum Erstellen einer PHP-Entwicklungsumgebung verwendet.
Docker installierenFROM php:7.4-fpm # Install dependencies RUN apt-get update && apt-get install -y git libzip-dev unzip # Install PHP extensions RUN docker-php-ext-install zip pdo_mysql # Install Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # Set working directory WORKDIR /app
Die Bedeutung dieser Docker-Datei besteht darin, ein neues Image aus dem vorhandenen PHP-Basis-Image zu erstellen. Installieren Sie dann die erforderlichen Abhängigkeiten wie git, libzip und unzip; installieren Sie die PHP-Erweiterungen zip und pdo_mysql und installieren Sie schließlich Composer.
Beachten Sie, dass der COPY-Befehl zum Kopieren von Dateien vom Composer-Image in das neue Image verwendet wird, wodurch sichergestellt wird, dass das Composer-Tool im neuen Image normal verwendet werden kann.
Docker-Image erstellendocker build -t project-name .
wobei Projektname der Name des zu erstellenden Docker-Images ist und das letzte „.“ das Verzeichnis angibt, in dem sich die Dockerfile-Datei befindet. Dieser Befehl erstellt ein neues Docker-Image für das Projekt.
Führen Sie den Container ausdocker run -p 8000:8000 -v "$(pwd)":/app -it project-name
wobei „8000“ die Portnummer ist, die vom Container verfügbar gemacht werden soll. Ordnen Sie in diesem Beispiel den 8000-Port des Containers zu Der 8000-Port des Hosts. Darüber hinaus ordnet der Parameter -v das aktuelle Verzeichnis dem Verzeichnis /app innerhalb des Containers zu, sodass PHP-Code innerhalb des Containers ausgeführt werden kann. Schließlich stellt „Projektname“ den Namen des zu verwendenden Docker-Images dar.
3. Verwenden Sie Docker Compose, um komplexe PHP-Projekte zu verwalten.
Für komplexe PHP-Projekte müssen Sie möglicherweise mehrere Dienste verwenden (z. B. Datenspeicher, Cache, Webserver usw.). Derzeit können Sie Docker Compose verwenden, um diese Dienste zu verwalten.
Docker Compose ist ein Tool für Docker, mit dem mehrere Docker-Container verwaltet werden können. Mit Docker Compose können Sie mehrere Container erstellen und konfigurieren, sie miteinander verknüpfen und einige allgemeine Bereitstellungsaufgaben erledigen (z. B. Datenvolumen und Portzuordnung usw.).
Bereiten Sie die Datei docker-compose.yml vorversion: '3.4' services: php: build: . ports: - "8000:8000" volumes: - .:/app depends_on: - db db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: app MYSQL_USER: app MYSQL_PASSWORD: secret volumes: - db_data:/var/lib/mysql volumes: db_data:
Diese Datei definiert zwei Dienste: PHP und DB.
Der PHP-Dienst verwendet die zuvor erstellte Docker-Datei, um ein neues Image zu erstellen, ordnet dann den 8000-Port des Containers dem 8000-Port des Hosts zu und ordnet das aktuelle Verzeichnis dem /app-Verzeichnis innerhalb des Containers zu. Der Dienst hängt auch vom Datenbankdienst ab.
Der Datenbankdienst verwendet das offizielle Image von MySQL 5.7 und definiert einige Umgebungsvariablen, um das Root-Passwort, den Datenbanknamen, den Benutzer und andere Informationen von MySQL festzulegen. Innerhalb des MySQL-Containers wird außerdem ein Datenvolumen als persistenter Speicher erstellt.
Beachten Sie, dass diese Datei auch ein Volume namens db_data definiert. Volumes werden verwendet, um Daten innerhalb eines Containers zu speichern, sodass sie von verschiedenen Containern gemeinsam genutzt werden können. Volumes bieten auch einige persistente Speicherlösungen.
Mehrere Container ausführendocker-compose up -d
Dieser Befehl führt alle definierten Dienste im Hintergrund aus .
Sie können alle ausgeführten Container überprüfen, indem Sie den folgenden Befehl ausführen:
docker ps
docker-compose down
Dieser Befehl stoppt Entfernen Sie alle laufenden Container und entfernen Sie alle Dienste. Wenn Sie einen bestimmten Dienst stoppen und löschen müssen, können Sie den folgenden Befehl ausführen:
docker-compose stop service-name docker-compose rm service-name
wobei Dienstname der Name des Dienstes ist, der gestoppt und gelöscht werden soll.
In diesem Artikel werden die grundlegenden Konzepte und Schritte zur Verwendung von Docker zum Erstellen und Verwalten einer PHP-Entwicklungsumgebung vorgestellt. Der Einsatz der Container-Technologie kann die Konsistenz, Portabilität und Zuverlässigkeit des Entwicklungsprozesses verbessern und eine wichtige Rolle bei der Entwicklung von PHP-Projekten spielen.
Das obige ist der detaillierte Inhalt vonWie man Container-Technologie für das Umgebungsmanagement in der PHP-Entwicklung nutzt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!