Heim > Backend-Entwicklung > PHP-Tutorial > Wie verwende ich Docker Compose zum Verpacken und Bereitstellen von Multi-Container-PHP-Anwendungen?

Wie verwende ich Docker Compose zum Verpacken und Bereitstellen von Multi-Container-PHP-Anwendungen?

王林
Freigeben: 2023-07-31 12:10:02
Original
1339 Leute haben es durchsucht

Wie verwende ich Docker Compose, um Multi-Container-PHP-Anwendungen zu verpacken und bereitzustellen?

Mit der Entwicklung von Netzwerkanwendungen ist die Erstellung und Bereitstellung komplexer Multi-Container-Anwendungen immer üblicher geworden. Docker ist eine beliebte Containerisierungsplattform, die uns hilft, Anwendungen schnell zu erstellen und bereitzustellen. Und Docker Compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern.

In diesem Artikel erfahren Sie, wie Sie mit Docker Compose eine einfache PHP-Anwendung packen und bereitstellen, die aus mehreren Containern besteht.

Zuerst müssen wir eine docker-compose.yaml-Datei erstellen, die den Container für unsere Anwendung definiert. Hier ist ein einfaches Beispiel:

version: '3'
services:
  webserver:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "80:80"
    depends_on:
      - database
    volumes:
      - ./src:/var/www/html
  database:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_DATABASE=mydatabase
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypassword
Nach dem Login kopieren

Die obige Datei definiert zwei Dienste: Webserver und Datenbank. Der Webserver ist unser PHP-Anwendungscontainer, der ein Dockerfile-basiertes Image erstellt und den Quellcode der Anwendung im Verzeichnis /var/www/html des Containers bereitstellt. Der lokale Port 80 wird dem Port 80 des Containers zugeordnet, sodass wir über den Zugriff auf localhost auf die Anwendung zugreifen können. Der Webserver gibt außerdem an, dass er vom Datenbankdienst abhängig ist.

Der Datenbankdienst verwendet das offizielle mysql:5.7-Image und legt einige Umgebungsvariablen fest, um die MySQL-Datenbankeinstellungen zu konfigurieren.

Nachdem wir die Datei docker-compose.yaml vorbereitet haben, können wir den folgenden Befehl verwenden, um unsere Anwendung zu starten:

docker-compose up -d
Nach dem Login kopieren

Der obige Befehl erstellt und startet alle Container. Der Parameter -d bewirkt, dass Docker Compose im Hintergrund ausgeführt wird.

Wenn die Anwendung gestartet ist, können wir den folgenden Befehl verwenden, um den Status der Container anzuzeigen:

docker-compose ps
Nach dem Login kopieren

Dieser Befehl zeigt alle laufenden Container und deren Status an.

Wenn wir den Code oder die Konfiguration der Anwendung aktualisieren müssen, müssen wir nur die lokale Quellcodedatei ändern. Da wir den Quellcode in den Container eingebunden haben, werden Änderungen an lokalen Dateien in Echtzeit im Container widergespiegelt.

Wenn wir eine Anwendung stoppen möchten, können wir den folgenden Befehl verwenden:

docker-compose down
Nach dem Login kopieren

Dieser Befehl stoppt und löscht alle Container.

Neben der Grundkonfiguration bietet Docker Compose auch viele weitere Funktionen, wie zum Beispiel das Verbinden von Containernetzwerken, das Setzen von Umgebungsvariablen, die Erweiterung usw.

Zusammenfassend lässt sich sagen, dass die Verwendung von Docker Compose zum Packen und Bereitstellen von Multi-Container-PHP-Anwendungen eine schnelle und leistungsstarke Möglichkeit ist. Durch die Definition einer docker-compose.yaml-Datei können wir komplexe Anwendungen einfach erstellen, bereitstellen und skalieren. Ich hoffe, dieser Artikel hilft Ihnen!

Das obige ist der detaillierte Inhalt vonWie verwende ich Docker Compose zum Verpacken und Bereitstellen von Multi-Container-PHP-Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage