From 33630b164ac75928549094572f1b4d0b17fcc266 Mon Sep 17 00:00:00 2001 From: Leroy Baeyens Date: Tue, 21 Mar 2017 12:46:31 +0100 Subject: [PATCH 01/11] Should fix #33. Shouldn't have to expose the php port on docker-compose (#34) --- docker-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 686f1fd0..598502ea 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,8 +12,6 @@ services: MYSQL_PASSWORD: ${MYSQL_PASSWORD} php: build: php7-fpm - ports: - - 9000:9000 volumes: - ${SYMFONY_APP_PATH}:/var/www/symfony - ./logs/symfony:/var/www/symfony/app/logs From 2d1849ae6f868cf181581a6a66be73fe39afd396 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20K=C3=B6rner?= Date: Wed, 26 Apr 2017 19:17:47 +0200 Subject: [PATCH 02/11] fix: nginx config from 'sites-enabled' instead of 'sites-available' (#48) --- nginx/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 07708308..a9ecf0e5 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -22,7 +22,7 @@ http { gzip on; gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; - include /etc/nginx/sites-available/*; + include /etc/nginx/sites-enabled/*; open_file_cache max=100; } From 569dd6c6960bbc50256dc7bc53a32b9ce41613b1 Mon Sep 17 00:00:00 2001 From: Maxence POUTORD Date: Sat, 27 May 2017 12:23:21 +0100 Subject: [PATCH 03/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e4be16e..f2cac770 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ Just run `docker-compose up -d`, then: * Logs (Kibana): [symfony.dev:81](http://symfony.dev:81) * Logs (files location): logs/nginx and logs/symfony -## Customize +## Customize If you want to add optionnals containers like Redis, PHPMyAdmin... take a look on [doc/custom.md](doc/custom.md). From 0b9a44fff42a02d1c1187e630ae3854c67c6b8ba Mon Sep 17 00:00:00 2001 From: Lachezar Lechev Date: Tue, 1 Aug 2017 18:47:50 +0300 Subject: [PATCH 04/11] Adding sessions folder to chmod command in sf3 (#26) Also adding comment for doctrine:fixtures:load --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f2cac770..a5153c80 100644 --- a/README.md +++ b/README.md @@ -51,10 +51,12 @@ Docker-symfony gives you everything you need for developing Symfony application. # Symfony2 $ sf doctrine:database:create $ sf doctrine:schema:update --force + # Only if you have `doctrine/doctrine-fixtures-bundle` installed $ sf doctrine:fixtures:load --no-interaction # Symfony3 $ sf3 doctrine:database:create $ sf3 doctrine:schema:update --force + # Only if you have `doctrine/doctrine-fixtures-bundle` installed $ sf3 doctrine:fixtures:load --no-interaction ``` @@ -119,7 +121,7 @@ $ docker-compose exec db mysql -uroot -p"root" # F***ing cache/logs folder $ sudo chmod -R 777 app/cache app/logs # Symfony2 -$ sudo chmod -R 777 var/cache var/logs # Symfony3 +$ sudo chmod -R 777 var/cache var/logs var/sessions # Symfony3 # Check CPU consumption $ docker stats $(docker inspect -f "{{ .Name }}" $(docker ps -q)) From a9dff035026689051cc39ea6a1ff9093f8dbd82e Mon Sep 17 00:00:00 2001 From: MaksSlesarenko Date: Wed, 9 Aug 2017 12:08:23 +0300 Subject: [PATCH 05/11] single command to update hosts file (#66) Use single command to update hosts file (README) --- README.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a5153c80..af35aed3 100644 --- a/README.md +++ b/README.md @@ -25,11 +25,8 @@ Docker-symfony gives you everything you need for developing Symfony application. 3. Update your system host file (add symfony.dev) ```bash - # UNIX only: get containers IP address and update host (replace IP according to your configuration) - $ docker network inspect bridge | grep Gateway - - # unix only (on Windows, edit C:\Windows\System32\drivers\etc\hosts) - $ sudo echo "171.17.0.1 symfony.dev" >> /etc/hosts + # UNIX only: get containers IP address and update host (replace IP according to your configuration) (on Windows, edit C:\Windows\System32\drivers\etc\hosts) + $ sudo echo $(docker network inspect bridge | grep Gateway | grep -o -E '[0-9\.]+') "symfony.dev" >> /etc/hosts ``` **Note:** For **OS X**, please take a look [here](https://docs.docker.com/docker-for-mac/networking/) and for **Windows** read [this](https://docs.docker.com/docker-for-windows/#/step-4-explore-the-application-and-run-examples) (4th step). From 3ddfac8e1340a9e7b65ba54fc79910427b906b42 Mon Sep 17 00:00:00 2001 From: "Carlos A. Sastre" Date: Sun, 10 Sep 2017 11:22:59 +0200 Subject: [PATCH 06/11] Hotfix/php timezone (#67) * One line symlink to localtime * Make timezone variable and set /etc/timezone too * Set PHP timezone * Take the timezone configuration out to the env file --- .env.dist | 3 +++ docker-compose.yml | 5 ++++- php7-fpm/Dockerfile | 5 +++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.env.dist b/.env.dist index 07cc21e3..ee55e182 100644 --- a/.env.dist +++ b/.env.dist @@ -6,3 +6,6 @@ MYSQL_ROOT_PASSWORD=root MYSQL_DATABASE=mydb MYSQL_USER=user MYSQL_PASSWORD=userpass + +# Timezone +TIMEZONE=Europe/Paris diff --git a/docker-compose.yml b/docker-compose.yml index 598502ea..90cd989e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,10 @@ services: MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} php: - build: php7-fpm + build: + context: php7-fpm + args: + TIMEZONE: ${TIMEZONE} volumes: - ${SYMFONY_APP_PATH}:/var/www/symfony - ./logs/symfony:/var/www/symfony/app/logs diff --git a/php7-fpm/Dockerfile b/php7-fpm/Dockerfile index 694838a8..28f3a281 100644 --- a/php7-fpm/Dockerfile +++ b/php7-fpm/Dockerfile @@ -1,5 +1,6 @@ # See https://github.com/docker-library/php/blob/4677ca134fe48d20c820a19becb99198824d78e3/7.0/fpm/Dockerfile FROM php:7.0-fpm +ARG TIMEZONE MAINTAINER Maxence POUTORD @@ -12,8 +13,8 @@ RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local RUN composer --version # Set timezone -RUN rm /etc/localtime -RUN ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime +RUN ln -snf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime && echo ${TIMEZONE} > /etc/timezone +RUN printf '[PHP]\ndate.timezone = "%s"\n', ${TIMEZONE} > /usr/local/etc/php/conf.d/tzone.ini RUN "date" # Type docker-php-ext-install to see available extensions From 280bfc3444ac9fb3af1fd179296ede6ecf8e6f4d Mon Sep 17 00:00:00 2001 From: Julien Lenne Date: Sun, 10 Sep 2017 17:35:24 +0800 Subject: [PATCH 07/11] Update php7-fpm dockerfile to add ssl support (#71) To remove this error: Unknown SSL protocol error in connection to getcomposer.org:443 --- php7-fpm/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/php7-fpm/Dockerfile b/php7-fpm/Dockerfile index 28f3a281..2fee33d9 100644 --- a/php7-fpm/Dockerfile +++ b/php7-fpm/Dockerfile @@ -5,6 +5,7 @@ ARG TIMEZONE MAINTAINER Maxence POUTORD RUN apt-get update && apt-get install -y \ + openssl \ git \ unzip From 3529253ef5a5b4b7351dbd7adaab1556793f57cc Mon Sep 17 00:00:00 2001 From: Maxence POUTORD Date: Mon, 25 Sep 2017 10:05:45 +0100 Subject: [PATCH 08/11] Update PHP to 7.1 --- php7-fpm/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/php7-fpm/Dockerfile b/php7-fpm/Dockerfile index 2fee33d9..6737810b 100644 --- a/php7-fpm/Dockerfile +++ b/php7-fpm/Dockerfile @@ -1,5 +1,5 @@ -# See https://github.com/docker-library/php/blob/4677ca134fe48d20c820a19becb99198824d78e3/7.0/fpm/Dockerfile -FROM php:7.0-fpm +# See https://github.com/docker-library/php/blob/master/7.1/fpm/Dockerfile +FROM php:7.1-fpm ARG TIMEZONE MAINTAINER Maxence POUTORD From 2c4775ebb237de4d6aa87ab59f1af1d4b39b6b9a Mon Sep 17 00:00:00 2001 From: Jakub Idziak Date: Tue, 23 Jan 2018 14:52:59 +0100 Subject: [PATCH 09/11] Change default domain name to symfony.local --- README.md | 10 +++++----- doc/custom.md | 2 +- nginx/symfony.conf | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index af35aed3..d4d4db14 100644 --- a/README.md +++ b/README.md @@ -22,11 +22,11 @@ Docker-symfony gives you everything you need for developing Symfony application. $ docker-compose up -d ``` -3. Update your system host file (add symfony.dev) +3. Update your system host file (add symfony.local) ```bash # UNIX only: get containers IP address and update host (replace IP according to your configuration) (on Windows, edit C:\Windows\System32\drivers\etc\hosts) - $ sudo echo $(docker network inspect bridge | grep Gateway | grep -o -E '[0-9\.]+') "symfony.dev" >> /etc/hosts + $ sudo echo $(docker network inspect bridge | grep Gateway | grep -o -E '[0-9\.]+') "symfony.local" >> /etc/hosts ``` **Note:** For **OS X**, please take a look [here](https://docs.docker.com/docker-for-mac/networking/) and for **Windows** read [this](https://docs.docker.com/docker-for-windows/#/step-4-explore-the-application-and-run-examples) (4th step). @@ -63,9 +63,9 @@ Docker-symfony gives you everything you need for developing Symfony application. Just run `docker-compose up -d`, then: -* Symfony app: visit [symfony.dev](http://symfony.dev) -* Symfony dev mode: visit [symfony.dev/app_dev.php](http://symfony.dev/app_dev.php) -* Logs (Kibana): [symfony.dev:81](http://symfony.dev:81) +* Symfony app: visit [symfony.local](http://symfony.local) +* Symfony dev mode: visit [symfony.local/app_dev.php](http://symfony.local/app_dev.php) +* Logs (Kibana): [symfony.local:81](http://symfony.local:81) * Logs (files location): logs/nginx and logs/symfony ## Customize diff --git a/doc/custom.md b/doc/custom.md index 0d485e2e..39c4a55b 100644 --- a/doc/custom.md +++ b/doc/custom.md @@ -16,7 +16,7 @@ - "8080:80" ``` -2. Visit: [symfony.dev:8080](http://symfony.dev:8080) +2. Visit: [symfony.local:8080](http://symfony.local:8080) ## Add Redis diff --git a/nginx/symfony.conf b/nginx/symfony.conf index 8713f688..f17c5539 100644 --- a/nginx/symfony.conf +++ b/nginx/symfony.conf @@ -1,5 +1,5 @@ server { - server_name symfony.dev; + server_name symfony.local; root /var/www/symfony/web; location / { From 94565278d5eb72cfd2e78a578c660cb87589764d Mon Sep 17 00:00:00 2001 From: satoru-k Date: Tue, 20 Nov 2018 14:35:17 +0800 Subject: [PATCH 10/11] Optimized Dockerfile --- nginx/Dockerfile | 4 ++-- php7-fpm/Dockerfile | 36 ++++++++++++++++++------------------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/nginx/Dockerfile b/nginx/Dockerfile index 8011b3ab..0a7c716c 100644 --- a/nginx/Dockerfile +++ b/nginx/Dockerfile @@ -8,8 +8,8 @@ RUN apt-get update && apt-get install -y \ ADD nginx.conf /etc/nginx/ ADD symfony.conf /etc/nginx/sites-available/ -RUN ln -s /etc/nginx/sites-available/symfony.conf /etc/nginx/sites-enabled/symfony -RUN rm /etc/nginx/sites-enabled/default +RUN ln -s /etc/nginx/sites-available/symfony.conf /etc/nginx/sites-enabled/symfony \ +&& rm /etc/nginx/sites-enabled/default RUN echo "upstream php-upstream { server php:9000; }" > /etc/nginx/conf.d/upstream.conf diff --git a/php7-fpm/Dockerfile b/php7-fpm/Dockerfile index 6737810b..fd5b3fea 100644 --- a/php7-fpm/Dockerfile +++ b/php7-fpm/Dockerfile @@ -10,31 +10,31 @@ RUN apt-get update && apt-get install -y \ unzip # Install Composer -RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer -RUN composer --version +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ +&& composer --version # Set timezone -RUN ln -snf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime && echo ${TIMEZONE} > /etc/timezone -RUN printf '[PHP]\ndate.timezone = "%s"\n', ${TIMEZONE} > /usr/local/etc/php/conf.d/tzone.ini -RUN "date" +RUN ln -snf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime && echo ${TIMEZONE} > /etc/timezone \ +&& printf '[PHP]\ndate.timezone = "%s"\n', ${TIMEZONE} > /usr/local/etc/php/conf.d/tzone.ini \ +&& "date" # Type docker-php-ext-install to see available extensions RUN docker-php-ext-install pdo pdo_mysql # install xdebug -RUN pecl install xdebug -RUN docker-php-ext-enable xdebug -RUN echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini -RUN echo "display_startup_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini -RUN echo "display_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini -RUN echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini -RUN echo "xdebug.remote_connect_back=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini -RUN echo "xdebug.idekey=\"PHPSTORM\"" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini -RUN echo "xdebug.remote_port=9001" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini - - -RUN echo 'alias sf="php app/console"' >> ~/.bashrc -RUN echo 'alias sf3="php bin/console"' >> ~/.bashrc +RUN pecl install xdebug \ +&& docker-php-ext-enable xdebug \ +&& echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ +&& echo "display_startup_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ +&& echo "display_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ +&& echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ +&& echo "xdebug.remote_connect_back=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ +&& echo "xdebug.idekey=\"PHPSTORM\"" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ +&& echo "xdebug.remote_port=9001" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini + + +RUN echo 'alias sf="php app/console"' >> ~/.bashrc \ +&& echo 'alias sf3="php bin/console"' >> ~/.bashrc WORKDIR /var/www/symfony From 0850b15fe31fdd29626d338e5125c44802c26196 Mon Sep 17 00:00:00 2001 From: enekochan Date: Mon, 4 Feb 2019 21:53:19 +0100 Subject: [PATCH 11/11] Fix finding IP address command with grep --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d4d4db14..ec7a9b23 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Docker-symfony gives you everything you need for developing Symfony application. ```bash # UNIX only: get containers IP address and update host (replace IP according to your configuration) (on Windows, edit C:\Windows\System32\drivers\etc\hosts) - $ sudo echo $(docker network inspect bridge | grep Gateway | grep -o -E '[0-9\.]+') "symfony.local" >> /etc/hosts + $ sudo echo $(docker network inspect bridge | grep Gateway | grep -o -E '([0-9]{1,3}\.){3}[0-9]{1,3}') "symfony.local" >> /etc/hosts ``` **Note:** For **OS X**, please take a look [here](https://docs.docker.com/docker-for-mac/networking/) and for **Windows** read [this](https://docs.docker.com/docker-for-windows/#/step-4-explore-the-application-and-run-examples) (4th step).