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!