Docker ist eine leichtgewichtige Containerisierungsplattform, die Anwendungen und ihre abhängigen Umgebungen zusammenpacken kann, um eine schnelle und stabile Bereitstellung in verschiedenen Umgebungen zu erreichen. In diesem Artikel erfahren Sie, wie Sie die Docker-Containerisierung und die Bereitstellung von Yii-Framework-Anwendungen nutzen, um Ihre Entwicklungs- und Startprozesse effizienter und konsistenter zu gestalten.
Erstellen Sie zunächst eine neue Datei mit dem Namen Dockerfile im Stammverzeichnis des Projekts und schreiben Sie den folgenden Inhalt:
FROM php:7.4-fpm
WORKDIR /var/www
COPY composer.json .
RUN composer install
COPY . .
EXPOSE 80
CMD ["php", "-S", "0.0.0.0:80"]
Diese Datei definiert das Basis-Image der PHP-Umgebung, installiert Projektabhängigkeiten und legt das Arbeitsverzeichnis und den Startbefehl des Containers fest.
Geben Sie im Terminal das Stammverzeichnis des Projekts ein und führen Sie den folgenden Befehl aus, um das Image zu erstellen:
<span class="fun">docker build -t yii-app .</span>
Dieser Befehl generiert ein Image mit dem Namen yii-app basierend auf der Konfiguration in der Docker-Datei.
Nachdem das Image erstellt wurde, können Sie den Container mit dem folgenden Befehl ausführen:
<span class="fun">docker run -p 8080:80 yii-app</span>
Nach dem Ausführen können Sie überprüfen, ob die Yii-Anwendung normal startet, indem Sie http://localhost:8080 besuchen.
Wenn die Anwendung lokal getestet wird, kann sie auf einem Remote-Server bereitgestellt werden. Schieben Sie zunächst das erstellte Image an Docker Hub oder ein privates Image Warehouse und führen Sie dann die folgenden Vorgänge auf dem Server aus:
Ziehen Sie das Bild:
<span class="fun">Docker Pull <Registrierung>/<Namespace>/yii-app</span>
Führen Sie den Container aus:
<span class="fun">docker run -p 80:80 <registry>/<namespace>/yii-app</span>
Wille
Wenn Ihr Yii-Projekt Datenbank-, Cache- und andere Dienste erfordert, können Sie Docker Compose verwenden, um mehrere Container einheitlich zu verwalten. Erstellen Sie eine Datei „docker-compose.yml“ im Stammverzeichnis des Projekts. Das Beispiel lautet wie folgt:
version: '3'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./:/var/www
Führen Sie dann im Terminal den folgenden Befehl aus, um die Anwendung zu starten:
<span class="fun">docker-compose up -d</span>
Docker Compose erstellt automatisch das Image und startet die erforderlichen Container, damit Ihre Yii-Anwendung und abhängige Dienste gemeinsam ausgeführt werden können.
Die containerisierte Bereitstellung von Yii-Framework-Anwendungen über Docker vereinfacht nicht nur die Umgebungskonfiguration, sondern gewährleistet auch die Konsistenz in Entwicklungs-, Test- und Produktionsumgebungen. Ob Einzel-Container-Bereitstellung oder Multi-Container-Orchestrierung, Docker bietet eine effiziente Lösung für die kontinuierliche Integration und Bereitstellung von Yii-Projekten.