Home  >  Article  >  Operation and Maintenance  >  Teach you how to quickly set up a Symfony environment in Docker

Teach you how to quickly set up a Symfony environment in Docker

WBOY
WBOYOriginal
2023-10-21 11:43:56779browse

Teach you how to quickly set up a Symfony environment in Docker

Teach you how to quickly set up a Symfony environment in Docker

With the rapid development of cloud computing and container technology, Docker has become a very popular and useful tool . It provides a fast, reliable and convenient way to package, distribute and run applications. Symfony is an excellent PHP framework that can help us quickly build high-quality web applications. In this article, I will show you how to use Docker to quickly set up a Symfony environment.

Step 1: Install Docker and Docker Compose
First, you need to install Docker and Docker Compose on your computer. You can find the installation package suitable for your operating system on the Docker official website and install it according to the official documentation.

Step 2: Create Dockerfile
Create a file named Dockerfile in your project root directory and add the following content in it:

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

In the above Dockerfile file, we use The officially provided php:7.4-apache is used as the base image. We then installed the PDO and pdo_mysql extensions required by Symfony and copied Apache's configuration files from local to the correct location within the container. Finally, we installed Composer so that we can use Composer to manage the dependencies of our Symfony project.

Step 3: Create the Apache configuration file
Create a file named apache.conf in your project root directory and add the following content in it:

<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>

Above apache. conf file, we specified the public directory of the Symfony project as DocumentRoot and enabled all Apache rewrite rules.

Step 4: Create docker-compose.yml file
Create a file named docker-compose.yml in your project root directory and add the following content in it:

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

In the above docker-compose.yml file, we defined two services: web and db. The web service is built using the Dockerfile we created above and maps port 80 in the container to port 8000 on the host. We also map the current directory to the /var/www/html directory within the container so that we can access our Symfony project within the container. The db service uses the officially provided mysql:8.0 image and maps the 3306 port in the container to the 3306 port of the host. We also specified the MySQL root password and the created database.

Step 5: Start the Symfony container
In the terminal, go to your project root directory and run the following command to start the Symfony container:

docker-compose up -d

This command will download the required image , build the container and run it. Wait a moment, the startup process may take some time.

Step 6: Install Symfony
After the Symfony container is started, you can enter inside the container through the following command:

docker exec -it [CONTAINER_NAME] bash

In this command, replace [CONTAINER_NAME] with your Symfony container The name.

Inside the container, you can use Composer to install Symfony. Run the following command within the container:

composer create-project symfony/website-skeleton .

This command will create a new Symfony project in the current directory.

Step 7: Access the Symfony application
After the installation is complete, you can view the Symfony application by visiting the following URL in your browser:

http://localhost:8000

Congratulations! You have now successfully set up a Symfony environment in Docker. You can start building your applications with Symfony now and enjoy the convenience and flexibility of containerization.

Summary
By using Docker and Docker Compose, we can quickly build a Symfony environment locally. This allows developers to focus more on application development without having to worry about configuring and managing a development environment. I hope this article can be helpful to you, and I wish you build more great Symfony applications!

The above is the detailed content of Teach you how to quickly set up a Symfony environment in Docker. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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