diff --git a/.travis.yml b/.travis.yml index 42a2c08..8d8adc0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ sudo: required env: - DOCKER_COMPOSE_VERSION: 1.7.1 + DOCKER_COMPOSE_VERSION: 1.16.1 services: - docker diff --git a/README.md b/README.md index 3f13fdd..980518c 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ docker-symfony [![Build Status](https://secure.travis-ci.org/eko/docker-symfony.png?branch=master)](http://travis-ci.org/eko/docker-symfony) -Just a little Docker POC in order to have a complete stack for running Symfony into Docker containers using docker-compose tool. +This is a complete stack for running Symfony 4 (latest version: Flex) into Docker containers using docker-compose tool. # Installation @@ -45,12 +45,12 @@ This results in the following running containers: ```bash > $ docker-compose ps - Name Command State Ports - ------------------------------------------------------------------------------------------- - docker_db_1 /entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp - docker_elk_1 /usr/bin/supervisord -n -c ... Up 0.0.0.0:81->80/tcp - docker_nginx_1 nginx Up 443/tcp, 0.0.0.0:80->80/tcp - docker_php_1 php5-fpm -F Up 9000/tcp + Name Command State Ports +-------------------------------------------------------------------------------------------- +dockersymfony_db_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp +dockersymfony_elk_1 /usr/bin/supervisord -n -c ... Up 0.0.0.0:81->80/tcp +dockersymfony_nginx_1 nginx Up 443/tcp, 0.0.0.0:80->80/tcp +dockersymfony_php_1 php-fpm7 -F Up 0.0.0.0:9000->9000/tcp ``` # Read logs diff --git a/docker-compose.travis.yml b/docker-compose.travis.yml index 3b9d214..5e90adc 100644 --- a/docker-compose.travis.yml +++ b/docker-compose.travis.yml @@ -13,7 +13,7 @@ services: - "9000" volumes: - ./symfony:/var/www/symfony - - ./logs/symfony:/var/www/symfony/app/logs + - ./logs/symfony:/var/www/symfony/var/logs links: - db nginx: diff --git a/docker-compose.yml b/docker-compose.yml index 718245f..5887cfa 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,11 +11,11 @@ services: MYSQL_PASSWORD: symfony php: build: ./php-fpm - expose: - - "9000" + ports: + - "9000:9000" volumes: - - ./symfony:/var/www/symfony - - ./logs/symfony:/var/www/symfony/app/logs + - ./symfony:/var/www/symfony:cached + - ./logs/symfony:/var/www/symfony/var/logs:cached links: - db nginx: @@ -27,14 +27,14 @@ services: volumes_from: - php volumes: - - ./logs/nginx/:/var/log/nginx + - ./logs/nginx/:/var/log/nginx:cached elk: image: willdurand/elk ports: - "81:80" volumes: - - ./elk/logstash:/etc/logstash - - ./elk/logstash/patterns:/opt/logstash/patterns + - ./elk/logstash:/etc/logstash:cached + - ./elk/logstash/patterns:/opt/logstash/patterns:cached volumes_from: - php - nginx diff --git a/elk/logstash/logstash.conf b/elk/logstash/logstash.conf index f9e14bd..314d5f5 100644 --- a/elk/logstash/logstash.conf +++ b/elk/logstash/logstash.conf @@ -6,12 +6,12 @@ input { } file { type => "symfony_dev" - path => "/var/www/symfony/app/logs/dev.log" + path => "/var/www/symfony/var/logs/dev.log" start_position => beginning } file { type => "symfony_prod" - path => "/var/www/symfony/app/logs/prod.log" + path => "/var/www/symfony/var/logs/prod.log" start_position => beginning } } diff --git a/nginx/Dockerfile b/nginx/Dockerfile index 2e9c556..b361e74 100644 --- a/nginx/Dockerfile +++ b/nginx/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.4 +FROM alpine:3.6 MAINTAINER Vincent Composieux diff --git a/nginx/symfony.conf b/nginx/symfony.conf index 348920b..b778a16 100644 --- a/nginx/symfony.conf +++ b/nginx/symfony.conf @@ -1,6 +1,6 @@ server { server_name symfony.dev; - root /var/www/symfony/web; + root /var/www/symfony/public; location / { @@ -8,10 +8,10 @@ server { } location @rewriteapp { - rewrite ^(.*)$ /app.php/$1 last; + rewrite ^(.*)$ /index.php/$1 last; } - location ~ ^/(app|app_dev|config)\.php(/|$) { + location ~ ^/index\.php(/|$) { fastcgi_pass php-upstream; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 9e3f7eb..499bb58 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -1,40 +1,42 @@ -FROM alpine:3.4 +FROM alpine:3.6 -MAINTAINER Vincent Composieux +LABEL maintainer="Vincent Composieux " RUN apk add --update \ - php5-fpm \ - php5-apcu \ - php5-ctype \ - php5-curl \ - php5-dom \ - php5-gd \ - php5-iconv \ - php5-imagick \ - php5-json \ - php5-intl \ - php5-mcrypt \ - php5-mysql \ - php5-opcache \ - php5-openssl \ - php5-pdo \ - php5-pdo_mysql \ - php5-mysqli \ - php5-xml \ - php5-zlib \ - php5-phar \ + php7-fpm \ + php7-apcu \ + php7-ctype \ + php7-curl \ + php7-dom \ + php7-gd \ + php7-iconv \ + php7-imagick \ + php7-json \ + php7-intl \ + php7-mcrypt \ + php7-mbstring \ + php7-opcache \ + php7-openssl \ + php7-pdo \ + php7-pdo_mysql \ + php7-mysqli \ + php7-xml \ + php7-zlib \ + php7-phar \ + php7-tokenizer \ + make \ curl RUN rm -rf /var/cache/apk/* && rm -rf /tmp/* RUN curl --insecure https://getcomposer.org/composer.phar -o /usr/bin/composer && chmod +x /usr/bin/composer -ADD symfony.ini /etc/php5/fpm/conf.d/ -ADD symfony.ini /etc/php5/cli/conf.d/ +ADD symfony.ini /etc/php7/php-fpm.d/ +ADD symfony.ini /etc/php7/cli/conf.d/ -ADD symfony.pool.conf /etc/php5/fpm.d/ +ADD symfony.pool.conf /etc/php7/php-fpm.d/ -CMD ["php-fpm", "-F"] +CMD ["php-fpm7", "-F"] WORKDIR /var/www/symfony EXPOSE 9000