DEV Community

Anthony Gilbert
Anthony Gilbert

Posted on

Setting up a Symfony application using Docker.

In this blog we are going to be setting up a Symfony application inside of a Docker container. If you have not previously worked with a plain Docker file, you can follow my last post here.

At this point we should have our container running, and inside of our container we can run the following commands.

To create our own docker container we need to create two new files:

  1. docker-compose.yml
  2. nginx.conf

The docker-compose.yml should contain the following code

version: '3'
        image: nginx:latest
            - "80:80"
            - ./nginx.conf:/etc/nginx/conf.d/nginx.conf
            - ./app:/app
        image: php:fpm
            - ./app:/app
Enter fullscreen mode Exit fullscreen mode

In order for this to work, you need to create an 'app' folder and inside of that, you need to create a 'public' folder, inside of that you can create your index.html file.

As for the 2nd file mentioned, you need to add the following code:

server {
    listen 80 default_server;
    root /app/public;
Enter fullscreen mode Exit fullscreen mode

This will start the container server and tell the container which directory to point to.
Once we have done this we need to create a index.php file inside of the /app/public directory.

Inside of our newly created index.php file, we need to copy/paste the following:

Enter fullscreen mode Exit fullscreen mode

Now we need to re-run the server using docker-compose up.

After restarting the docker container we should see PHP manual page.
If you see this, then congratulations, you have successfully created your PHP Docker container!! 🎊 🎊

Now that we have our basic PHP container, we can add Symfony to it.

To do this we need to stop the server by using the control + c command.

Afterwards we want to run the following command: curl -LO

This will download Bitnami's official Symfony docker-compose.yml image. Once this command has finished, we can re-run docker-compose up to run the build process. This is going to take some time, so feel free to grab a beverage.

Once it has finished, you can visit localhost:8000 to visit your newly generated Symfony app. Which should look like this A picture of the complete product.
And you're done!!

Follow me on twitter

Top comments (0)