If you need a development environment for Symfony, hosted by Docker, you can use the fazy/apache-symfony docker image to start with, then extend it to your need.
Setup Docker Machine for Symfony Development
In your Symfony project’s folder add the Dockerfile and docker-compose.yml files.
In the first one, we added mysql and composer, then we used the docker-compose.yml file to mount a local volume to the docker container with file sync.
This way you can code on your machine and test in the docker environment.
The Dockerfile:
FROM fazy/apache-symfony
ADD . /app
RUN apt-get update \
&& apt-get -yq install \
mysql-server \
php5-mysql \
&& rm -rf /var/lib/apt/lists/*
RUN curl -s https://getcomposer.org/installer | php
RUN mv composer.phar /usr/local/bin/composer
ENV COMPOSER_ALLOW_SUPERUSER 1
RUN service mysql startThe docker-compose.yml file:
version: "2"
services:
site:
build: .
ports:
- "8080:80"
expose:
- "80"
volumes:
- .:/appTo build the Docker container use:
docker-compose up –build
To start it when it’s down just remove the –build parameter:
docker-compose up
Once is running, you can view it’s ID by running:
docker ps
Now grab the first 3 characters from the id and use them in the next command to be able to log in the running container:
docker exec -t -i ID bash
Finally, to access the Symfony project in your browser, go to http://localhost:8080/app_dev.php and have fun!
1 Comment
Comments are closed.
That is a very good tip especially to those new to the blogosphere.
Simple but very accurate info… Thanks ffor sharing this one.
A must read post!