Tutorial: Installing Symfony using Docker

WBOY
Release: 2023-10-20 15:27:11
Original
880 people have browsed it

Tutorial: Installing Symfony using Docker

Tutorial: Installing Symfony using Docker

Symfony is a popular PHP framework for building high-performance, scalable web applications. When developing Symfony applications, using Docker can easily create an independent development environment to facilitate team collaboration and application deployment. This tutorial will guide you through how to install Symfony using Docker and provide specific code examples.

Step 1: Install Docker and Docker Compose

First, you need to install Docker and Docker Compose on your computer. You can go to the Docker official website to download and install the corresponding version of Docker according to your operating system. Once the installation is complete, verify the Docker installation by running the following command in the terminal:

docker --version
docker-compose --version
Copy after login

Step 2: Create a Symfony application

Next, you need to create a Symfony application. In the command line, navigate to the directory where you want to create the application, and then execute the following command:

docker run --rm -v $(pwd):/app -w /app/ composer create-project symfony/website-skeleton myapp
Copy after login

This command will run a temporary container and mount the current directory to the /app directory in the container. And use Composer to create a Symfony application called myapp.

Step 3: Write a Dockerfile

In your application directory, create a file called Dockerfile and add the following content in it:

FROM php:7.4-apache

# 安装MySQL扩展
RUN docker-php-ext-install pdo pdo_mysql

# 设置工作目录
WORKDIR /var/www/html

# 拷贝应用程序代码
COPY . /var/www/html

# 设置Apache的DocumentRoot
RUN sed -ri -e 's!/var/www/html!/var/www/html/public!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!/var/www/html/public!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

# 重启Apache服务
RUN service apache2 restart
Copy after login

This Dockerfile is based on The official php:7.4-apache image, with the required MySQL extensions installed. It also sets the working directory to /var/www/html and copies the application code into the container. Finally, it sets Apache's DocumentRoot to /var/www/html/public and restarts the Apache service.

Step 4: Write the docker-compose file

In your application directory, create a file called docker-compose.yml and add the following content in it:

version: '3'
services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 80:80
    volumes:
      - .:/var/www/html
Copy after login

This docker-compose file defines a service (web) and uses the Dockerfile created previously to build the container. It maps the container's port 80 to the host's port 80 and mounts the local application directory to the container's /var/www/html directory.

Step 5: Launch the Symfony application

In the terminal, navigate to your application directory and execute the following command to launch the Symfony application:

docker-compose up -d
Copy after login

This command A container running in the background will be started with the Symfony application running in it.

Step 6: Access the Symfony application

Now you can access the Symfony application by visiting http://localhost in your browser.

Summary:

By using Docker, you can easily create an independent Symfony development environment and speed up team collaboration and application deployment. This tutorial provides specific code examples required to install Symfony, hoping to help you get started using Docker to develop and deploy Symfony applications. I wish you success!

The above is the detailed content of Tutorial: Installing Symfony using Docker. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!