From ded8a698f0f5503117f103c43981fe623b674b55 Mon Sep 17 00:00:00 2001 From: xinatorus Date: Fri, 15 May 2020 22:37:17 +0200 Subject: [PATCH] docker --- .env | 4 ++++ docker-compose.yml | 37 +++++++++++++++++++++++++++++++++++++ docker/nginx/default.conf | 20 ++++++++++++++++++++ docker/php/Dockerfile | 3 +++ docker/php/www.conf | 12 ++++++++++++ 5 files changed, 76 insertions(+) create mode 100644 .env create mode 100644 docker-compose.yml create mode 100644 docker/nginx/default.conf create mode 100644 docker/php/Dockerfile create mode 100644 docker/php/www.conf diff --git a/.env b/.env new file mode 100644 index 0000000..2cd8770 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +MYSQL_ROOT_PASSWORD=root +MYSQL_DATABASE=dummy +MYSQL_USER=dummy +MYSQL_PASSWORD=dummy diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3ee131e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,37 @@ +version: '3' + +services: + + php: + build: + context: ./docker/php + ports: + - 9000:9000 + volumes: + - ./:/srv/www/api + - ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf + environment: + MYSQL_USER: ${MYSQL_USER} + MYSQL_PASSWORD: ${MYSQL_PASSWORD} + + nginx: + image: nginx:1.13.8 + ports: + - 80:80 + volumes: + - ./:/srv/www/api + - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf + depends_on: + - php + + mysql: + image: mysql:5.7 + ports: + - 3306:3306 + depends_on: + - php + environment: + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_DATABASE: ${MYSQL_DATABASE} + MYSQL_USER: ${MYSQL_USER} + MYSQL_PASSWORD: ${MYSQL_PASSWORD} diff --git a/docker/nginx/default.conf b/docker/nginx/default.conf new file mode 100644 index 0000000..99875bb --- /dev/null +++ b/docker/nginx/default.conf @@ -0,0 +1,20 @@ +server { + listen 80 default_server; + + server_name api.com www.api.com; + + root /srv/www/api; + + location ~ \.php$ { + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass php:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + } + + error_log /var/log/nginx/api_error.log; + access_log /var/log/nginx/api_access.log; +} diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile new file mode 100644 index 0000000..44b681d --- /dev/null +++ b/docker/php/Dockerfile @@ -0,0 +1,3 @@ +FROM php:7.2-fpm + +RUN docker-php-ext-install mysqli diff --git a/docker/php/www.conf b/docker/php/www.conf new file mode 100644 index 0000000..19ef1dc --- /dev/null +++ b/docker/php/www.conf @@ -0,0 +1,12 @@ +[www] + +user = www-data +group = www-data + +listen = nginx:9000 + +pm = dynamic +pm.max_children = 5 +pm.start_servers = 2 +pm.min_spare_servers = 1 +pm.max_spare_servers = 3