Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > Erfahren Sie, wie Sie schnell eine Symfony-Umgebung in Docker einrichten

Erfahren Sie, wie Sie schnell eine Symfony-Umgebung in Docker einrichten

WBOY
Freigeben: 2023-10-21 11:43:56
Original
836 Leute haben es durchsucht

Erfahren Sie, wie Sie schnell eine Symfony-Umgebung in Docker einrichten

Lernen Sie, wie Sie schnell eine Symfony-Umgebung in Docker erstellen können

Mit der rasanten Entwicklung von Cloud Computing und Container-Technologie ist Docker zu einem sehr beliebten und nützlichen Tool geworden. Es bietet eine schnelle, zuverlässige und bequeme Möglichkeit, Anwendungen zu verpacken, zu verteilen und auszuführen. Symfony ist ein hervorragendes PHP-Framework, das uns dabei helfen kann, schnell hochwertige Webanwendungen zu erstellen. In diesem Artikel zeige ich Ihnen, wie Sie mit Docker schnell eine Symfony-Umgebung einrichten.

Schritt 1: Docker und Docker Compose installieren
Zuerst müssen Sie Docker und Docker Compose auf Ihrem Computer installieren. Sie können das für Ihr Betriebssystem geeignete Installationspaket auf der offiziellen Docker-Website finden und es gemäß der offiziellen Dokumentation installieren.

Schritt 2: Dockerfile erstellen
Erstellen Sie eine Datei mit dem Namen Dockerfile in Ihrem Projektstammverzeichnis und fügen Sie den folgenden Inhalt hinzu:

FROM php:7.4-apache

# 安装Symfony所需的扩展
RUN docker-php-ext-install pdo pdo_mysql

# 添加Apache的配置文件
COPY apache.conf /etc/apache2/sites-available/000-default.conf

# 安装Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
Nach dem Login kopieren

In der obigen Dockerfile-Datei haben wir das offiziell bereitgestellte php:7.4-Apache als Basisimage verwendet. Anschließend haben wir die für Symfony erforderlichen PDO- und pdo_mysql-Erweiterungen installiert und die Apache-Konfigurationsdateien von lokal an den richtigen Speicherort im Container kopiert. Schließlich haben wir Composer installiert, damit wir Composer zum Verwalten der Abhängigkeiten unseres Symfony-Projekts verwenden können.

Schritt 3: Erstellen Sie die Apache-Konfigurationsdatei
Erstellen Sie eine Datei mit dem Namen apache.conf in Ihrem Projektstammverzeichnis und fügen Sie den folgenden Inhalt hinzu:

<VirtualHost *:80>
    DocumentRoot /var/www/html/public
    <Directory /var/www/html/public>
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Nach dem Login kopieren

In der obigen Datei apache.conf haben wir das öffentliche Verzeichnis des Symfony-Projekts angegeben dient als DocumentRoot und alle Apache-Rewrite-Regeln sind aktiviert.

Schritt 4: Docker-compose.yml-Datei erstellen
Erstellen Sie eine Datei mit dem Namen docker-compose.yml in Ihrem Projektstammverzeichnis und fügen Sie den folgenden Inhalt hinzu:

version: '3'
services:
  web:
    build: .
    ports:
      - "8000:80"
    volumes:
      - .:/var/www/html
    links:
      - db
  db:
    image: mysql:8.0
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=symfony
    volumes:
      - ./database:/var/lib/mysql
Nach dem Login kopieren

In der obigen Datei docker-compose.yml definieren wir zwei Dienste: Web und DB. Der Webdienst wird mithilfe der oben erstellten Docker-Datei erstellt und ordnet Port 80 im Container Port 8000 auf dem Host zu. Wir ordnen das aktuelle Verzeichnis auch dem Verzeichnis /var/www/html innerhalb des Containers zu, damit wir innerhalb des Containers auf unser Symfony-Projekt zugreifen können. Der DB-Dienst verwendet das offiziell bereitgestellte mysql:8.0-Image und ordnet den 3306-Port im Container dem 3306-Port des Hosts zu. Wir haben auch das MySQL-Root-Passwort und die erstellte Datenbank angegeben.

Schritt 5: Starten Sie den Symfony-Container
Gehen Sie im Terminal in das Stammverzeichnis Ihres Projekts und führen Sie den folgenden Befehl aus, um den Symfony-Container zu starten:

docker-compose up -d
Nach dem Login kopieren

Dieser Befehl lädt das erforderliche Image herunter, erstellt den Container und führt ihn aus. Warten Sie einen Moment, der Startvorgang kann einige Zeit dauern.

Schritt 6: Symfony installieren
Nachdem der Symfony-Container gestartet wurde, können Sie mit dem folgenden Befehl in den Container gelangen:

docker exec -it [CONTAINER_NAME] bash
Nach dem Login kopieren

Ersetzen Sie in diesem Befehl [CONTAINER_NAME] durch den Namen Ihres Symfony-Containers.

Im Container können Sie Symfony mit Composer installieren. Führen Sie den folgenden Befehl im Container aus:

composer create-project symfony/website-skeleton .
Nach dem Login kopieren

Dieser Befehl erstellt ein neues Symfony-Projekt im aktuellen Verzeichnis.

Schritt 7: Auf die Symfony-Anwendung zugreifen
Nach Abschluss der Installation können Sie die Symfony-Anwendung anzeigen, indem Sie die folgende URL in Ihrem Browser aufrufen:

http://localhost:8000
Nach dem Login kopieren

Herzlichen Glückwunsch! Sie haben nun erfolgreich eine Symfony-Umgebung in Docker eingerichtet. Sie können jetzt mit der Erstellung Ihrer Anwendungen mit Symfony beginnen und den Komfort und die Flexibilität der Containerisierung genießen.

Zusammenfassung
Durch die Verwendung von Docker und Docker Compose können wir schnell lokal eine Symfony-Umgebung aufbauen. Dadurch können sich Entwickler stärker auf die Anwendungsentwicklung konzentrieren, ohne sich um die Konfiguration und Verwaltung einer Entwicklungsumgebung kümmern zu müssen. Ich hoffe, dass dieser Artikel für Sie hilfreich sein kann, und ich wünsche Ihnen, dass Sie weitere großartige Symfony-Anwendungen erstellen!

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie schnell eine Symfony-Umgebung in Docker einrichten. 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