From ddea78a30a497a53e1e1cd94a1e72240274ea219 Mon Sep 17 00:00:00 2001 From: Aldarien Date: Mon, 15 Mar 2021 17:41:25 -0300 Subject: [PATCH] Docker for backend --- .dockerignore | 3 +++ app/docker/PHP.Dockerfile | 6 +++++ app/docker/nginx.conf | 22 ++++++++++++++++++ docker-compose.yml | 47 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+) create mode 100644 .dockerignore create mode 100644 app/docker/PHP.Dockerfile create mode 100644 app/docker/nginx.conf create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..1c13dd6 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +.git +.gitignore +**/composer.lock diff --git a/app/docker/PHP.Dockerfile b/app/docker/PHP.Dockerfile new file mode 100644 index 0000000..ba1b508 --- /dev/null +++ b/app/docker/PHP.Dockerfile @@ -0,0 +1,6 @@ +FROM php:7.4-fpm + +RUN docker-php-ext-install pdo pdo_mysql + +RUN pecl install xdebug-3.0.3 \ + && docker-php-ext-enable xdebug diff --git a/app/docker/nginx.conf b/app/docker/nginx.conf new file mode 100644 index 0000000..fdd6cce --- /dev/null +++ b/app/docker/nginx.conf @@ -0,0 +1,22 @@ +server { + listen 80; + server_name money_app; + index index.php; + error_log /code/app/logs/error.log; + access_log /code/app/logs/access.log; + root /code/app/public; + + location / { + try_files $uri /index.php$is_args$args; + } + + location ~ \.php { + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param SCRIPT_NAME $fastcgi_script_name; + fastcgi_index index.php; + fastcgi_pass app-php:9000; + } +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..be37642 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,47 @@ +version: '3' + +services: + app-server: + container_name: money_app + image: nginx:alpine + ports: + - 8081:80 + volumes: + - .:/code + - ./app/docker/nginx.conf:/etc/nginx/conf.d/default.conf + + app-php: + container_name: money_app_php + build: + context: ./app/docker + dockerfile: PHP.Dockerfile + volumes: + - .:/code + ports: + - 9123:9000 + + db: + container_name: money_db + image: mariadb:latest + restart: unless-stopped + ports: + - 3307:3306 + environment: + MYSQL_ROOT_PASSWORD: 'money' + MYSQL_DATABASE: 'money_dev' + MYSQL_USER: 'money' + MYSQL_PASSWORD: 'money_pass' + volumes: + - dbdata:/var/lib/mysql + + adminer: + container_name: money_adminer + image: adminer:latest + restart: unless-stopped + ports: + - 8082:8080 + environment: + ADMINER_DESIGN: 'dracula' + +volumes: + dbdata: