Docker Compose ist ein Instrument für das Management von Multicontainer, das den Bereitstellungsprozess des PHP-Frameworks erheblich vereinfachen kann. Durch Konfigurieren von Versionen, Diensten, Spiegelung, Portzuordnung, Abhängigkeiten und Datenvolumina können Entwickler mehrere Container effizient verwalten und eine schnelle Anwendungsstart erreichen.
Hier ist ein Beispiel für Docker Compose -Konfiguration für Laravel -Anwendungen:
Version: '3' Dienstleistungen: App: bauen: . Bände: -.:/var/www/html Ports: - "80:80" Kommt darauf ab. - db DB: Bild: Mysql: 5.7 Bände: - db-data:/var/lib/mysql Umfeld: - mysql_root_password = password Bände: DB-Daten:
Die Version wird verwendet, um die Version der Docker -Komponierungsdatei anzugeben, und in diesem Beispiel wird Version 3 verwendet.
Der Diensteblock definiert Containerdienste, einschließlich App (Bereitstellung von Laravel -Anwendungen) und DB (Bereitstellung von MySQL -Datenbanken).
Der App-Container wird erstellt, indem auf die Dockerfile hingewiesen wird, und das Bände montiert das Hostverzeichnis zum entsprechenden Pfad im Container, um die Echtzeit-Code-Synchronisation zu realisieren.
Die Ports zeichnen den Port 80 des Containers auf Host -Port 80 ab, sodass Laravel -Anwendungen über den Browser zugegriffen werden können.
Abhängig von Folgendes gibt an, dass der App -Container vom DB -Container abhängt, um sicherzustellen, dass der Datenbankcontainer zuerst gestartet wird, und das Startversagen für Anwendungen zu vermeiden.
Volumes Definiert Datenvolumina, db-data wird verwendet, um MySQL-Daten zu bestehen, die im Verzeichnis/var/lib/mysql im Container montiert sind.
Der Umgebungsblock konfiguriert Umgebungsvariablen für den MySQL -Container, in dem mySQL_ROOT_PASSWORD das Stammbenutzerkennwort festgelegt wird, um die Sicherheit der Datenbank zu gewährleisten.
Durch die Beherrschung der Konfigurationsmethode von Docker Compose ist die PHP -Framework -Bereitstellung effizienter und bequemer geworden. Dieser Artikel zeigt den vollständigen Prozess von der Servicedefinition bis zum Datenvolumenmanagement und bietet Entwicklern eine klare Bereitstellungsreferenz.