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.
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 start
The docker-compose.yml
file:
version: "2" services: site: build: . ports: - "8080:80" expose: - "80" volumes: - .:/app
To 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!