Heim >Backend-Entwicklung >PHP-Tutorial >Wie man Container-Technologie für das Umgebungsmanagement in der PHP-Entwicklung nutzt

Wie man Container-Technologie für das Umgebungsmanagement in der PHP-Entwicklung nutzt

WBOY
WBOYOriginal
2023-06-25 10:53:331458Durchsuche

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.
  1. Sehr portabel: Container können in jeder Umgebung ausgeführt werden, die Containertechnologie unterstützt, ohne dass die Umgebung neu konfiguriert werden muss.
  2. Bessere Isolation: Container bieten eine Isolation ähnlich der Virtualisierung, wodurch sichergestellt werden kann, dass die Interaktion zwischen verschiedenen Teilen des Projekts minimiert wird.
  3. 2. Verwenden Sie Docker, um eine PHP-Entwicklungsumgebung zu erstellen

Docker ist derzeit eine der beliebtesten Containertechnologien, daher wird in diesem Artikel Docker zum Erstellen einer PHP-Entwicklungsumgebung verwendet.

Docker installieren
  1. Zuerst müssen Sie Docker in Ihrer lokalen Umgebung installieren. Sie können die für Ihren Computer geeignete Docker-Version von der offiziellen Website herunterladen und installieren.

Dockerfile erstellen
  1. Erstellen Sie eine Datei namens Dockerfile im Stammverzeichnis des Projekts und schreiben Sie den Inhalt der Datei. Dockerfile ist eine Skriptdatei, die Docker zum Erstellen von Bildern verwendet. Der spezifische Inhalt der Docker-Datei ist wie folgt:
FROM 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 erstellen
  1. Als nächstes müssen Sie Dockerfile verwenden, um ein Docker-Image zu erstellen. Geben Sie das Projektstammverzeichnis im Terminal ein und führen Sie dann den Befehl aus:
docker 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 aus
  1. Verwenden Sie den folgenden Befehl, um den Container des neuen Images zu starten:
docker 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 vor
  1. Docker Compose basiert auf einer Konfigurationsdatei namens docker-compose.yml. Erstellen Sie diese Datei im Stammverzeichnis Ihres PHP-Projekts und definieren Sie den darin zu erstellenden Container. Hier ist ein Beispiel:
version: '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ühren
  1. Nachdem Sie die Datei docker-compose.yml geschrieben haben, können Sie mit dem folgenden Befehl alle im PHP-Projekt definierten Container erstellen und starten:
docker-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

Container stoppen und löschen
  1. Wenn Sie alle Dienste und Container stoppen müssen, können Sie den folgenden Befehl ausführen:
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn