Docker-Installationshandbuch für Symfony Framework
Übersicht
Docker ist eine Open-Source-Containerisierungsplattform, mit der sich Anwendungen schnell erstellen, verpacken und bereitstellen lassen. Das Symfony-Framework ist ein hervorragendes PHP-Framework für die schnelle Entwicklung und Wartung wartbarer Webanwendungen. Durch die Kombination der Docker- und Symfony-Frameworks können Sie Anwendungsentwicklungsumgebungen effizient erstellen und verwalten.
In diesem Artikel erhalten Sie eine detaillierte Installationsanleitung für das Symfony-Framework in Docker, einschließlich spezifischer Codebeispiele.
Schritt 1: Docker und Docker Compose installieren
Zuerst müssen Sie Docker und Docker Compose auf Ihrem lokalen Computer installieren. Die Installationsmethode von Docker variiert je nach Betriebssystem, daher werde ich hier nicht näher darauf eingehen. Docker Compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. Sie können Docker Compose über den folgenden Befehl installieren:
$ sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose $ sudo chmod +x /usr/local/bin/docker-compose
Nach Abschluss der Installation können Sie mit dem Befehl docker-compose --version
überprüfen, ob die Installation von Docker Compose erfolgreich war. docker-compose --version
命令来验证Docker Compose的安装是否成功。
步骤二:创建Symfony项目
接下来,我们将使用Symfony CLI来创建一个新的Symfony项目。请确保您已经在本地机器上安装了Symfony CLI。可使用以下命令来安装:
$ curl -sS https://get.symfony.com/cli/installer | bash $ mv ~/.symfony/bin/symfony /usr/local/bin/symfony
安装成功后,您可以通过symfony --version
命令来验证Symfony CLI的安装是否成功。
现在,我们可以使用Symfony CLI来创建一个新的Symfony项目了。运行以下命令:
$ symfony new my_project_name --full
此命令将会在当前目录下创建一个名为my_project_name
的Symfony项目,并且使用完整的Symfony应用程序模板。这个过程可能需要一些时间,请耐心等待。
步骤三:创建Docker配置文件
为了将Symfony项目运行在Docker容器中,我们需要创建一个Docker配置文件。在Symfony项目的根目录下创建一个名为docker-compose.yaml
的文件,并添加以下内容:
version: '3' services: web: build: context: . dockerfile: Dockerfile ports: - 8000:8000 volumes: - .:/app depends_on: - db db: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=symfony - MYSQL_USER=symfony - MYSQL_PASSWORD=symfony volumes: - db_data:/var/lib/mysql volumes: db_data:
这个配置文件定义了两个服务,分别是web
和db
。web
服务用于运行Symfony应用程序的Web服务,并映射到本地机器的8000端口。db
服务使用MySQL 5.7镜像,并配置了一些环境变量和卷。
步骤四:创建Dockerfile
接下来,我们需要创建一个名为Dockerfile
的文件,用于构建Symfony项目的Docker镜像。在Symfony项目的根目录下创建一个名为Dockerfile
的文件,并添加以下内容:
FROM php:7.4-apache RUN docker-php-ext-install pdo pdo_mysql RUN a2enmod rewrite WORKDIR /app COPY . /app RUN chown -R www-data:www-data /app CMD ["apache2-foreground"]
这个Dockerfile使用了官方的PHP 7.4与Apache镜像,并安装了PHP的pdo和pdo_mysql拓展。还启用了Apache的重写规则,并将Symfony项目的所有文件复制到容器的/app
目录下。最后,启动Apache服务。
步骤五:构建和运行Docker容器
完成了上述步骤后,我们可以使用Docker Compose来构建和运行Symfony项目的Docker容器。在Symfony项目的根目录下运行以下命令:
$ docker-compose up -d
这个命令将会自动构建和运行项目的Docker容器。-d
参数用于在后台运行容器。
现在,您可以通过浏览器访问http://localhost:8000
Als nächstes verwenden wir die Symfony-CLI, um ein neues Symfony-Projekt zu erstellen. Bitte stellen Sie sicher, dass Sie die Symfony CLI auf Ihrem lokalen Computer installiert haben. Zur Installation können Sie den folgenden Befehl verwenden:
rrreee
symfony --version
überprüfen, ob die Symfony CLI-Installation erfolgreich war. 🎜🎜Jetzt können wir die Symfony-CLI verwenden, um ein neues Symfony-Projekt zu erstellen. Führen Sie den folgenden Befehl aus: 🎜rrreee🎜Dieser Befehl erstellt ein Symfony-Projekt mit dem Namen my_project_name
im aktuellen Verzeichnis und verwendet die vollständige Symfony-Anwendungsvorlage. Dieser Vorgang kann einige Zeit dauern. Bitte haben Sie etwas Geduld. 🎜🎜Schritt 3: Erstellen Sie eine Docker-Konfigurationsdatei🎜Um das Symfony-Projekt in einem Docker-Container auszuführen, müssen wir eine Docker-Konfigurationsdatei erstellen. Erstellen Sie eine Datei mit dem Namen docker-compose.yaml
im Stammverzeichnis des Symfony-Projekts und fügen Sie den folgenden Inhalt hinzu: 🎜rrreee🎜Diese Konfigurationsdatei definiert zwei Dienste, nämlich web und <code>db
. Der web
-Dienst wird zum Ausführen des Webdienstes der Symfony-Anwendung verwendet und ist Port 8000 des lokalen Computers zugeordnet. Der db
-Dienst verwendet das MySQL 5.7-Image und ist mit einigen Umgebungsvariablen und Volumes konfiguriert. 🎜🎜Schritt 4: Dockerfile erstellen🎜Als nächstes müssen wir eine Datei mit dem Namen Dockerfile
erstellen, um das Docker-Image des Symfony-Projekts zu erstellen. Erstellen Sie eine Datei mit dem Namen Dockerfile
im Stammverzeichnis des Symfony-Projekts und fügen Sie den folgenden Inhalt hinzu: 🎜rrreee🎜Diese Docker-Datei verwendet das offizielle PHP 7.4- und Apache-Image und installiert PHPs pdo und pdo_mysql expand. Die Rewrite-Regeln von Apache sind ebenfalls aktiviert und alle Dateien des Symfony-Projekts werden in das Verzeichnis /app
des Containers kopiert. Starten Sie abschließend den Apache-Dienst. 🎜🎜Schritt 5: Erstellen und Ausführen des Docker-Containers🎜Nach Abschluss der obigen Schritte können wir Docker Compose verwenden, um den Docker-Container des Symfony-Projekts zu erstellen und auszuführen. Führen Sie den folgenden Befehl im Stammverzeichnis des Symfony-Projekts aus: 🎜rrreee🎜 Dieser Befehl erstellt automatisch den Docker-Container des Projekts und führt ihn aus. Der Parameter -d
wird verwendet, um den Container im Hintergrund auszuführen. 🎜🎜Jetzt können Sie http://localhost:8000
über den Browser aufrufen, um den laufenden Status des Symfony-Projekts anzuzeigen. 🎜🎜Fazit🎜Durch die Anleitung in diesem Artikel können Sie das Symfony-Framework problemlos mit Docker kombinieren und die Entwicklungsumgebung für Symfony-Anwendungen schnell einrichten und verwalten. Der Einsatz der Containerisierungstechnologie von Docker kann die Portabilität und Skalierbarkeit von Anwendungen verbessern und die Umgebungskonfiguration während des Entwicklungsprozesses vereinfachen. Ich hoffe, dass dieser Leitfaden für Ihre Symfony-Projektentwicklungsarbeit hilfreich sein wird. 🎜Das obige ist der detaillierte Inhalt vonDocker-Installationshandbuch für Symfony Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!