The docker composer work with a .env file where you should put all the important data, the required fields are:
- APP_NAME
- DB_PASSWORD
- DB_DATABASE
- DB_USERNAME
- DB_PORT
############################################################################### | |
# Generated on phpdocker.io # | |
############################################################################### | |
version: "3.8" | |
services: | |
#PHP Service | |
php-fpm: | |
build: phpdocker/php-fpm | |
container_name: ${APP_NAME}-php-fpm | |
restart: unless-stopped | |
working_dir: /application | |
volumes: | |
- .:/application | |
- ./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.2/fpm/conf.d/99-overrides.ini | |
environment: | |
- DB_PORT=${DB_PORT} | |
- DB_HOST=db | |
#MySQL Service | |
db: | |
image: mysql:5.7 | |
container_name: ${APP_NAME}-mysql | |
restart: unless-stopped | |
working_dir: /application | |
volumes: | |
- .:/application | |
environment: | |
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD} | |
- MYSQL_DATABASE=${DB_DATABASE} | |
- MYSQL_USER=${DB_USERNAME} | |
- MYSQL_PASSWORD=${DB_PASSWORD} | |
ports: | |
- "${DB_PORT}:${DB_PORT}" | |
#Nginx Service | |
webserver: | |
image: nginx:alpine | |
container_name: ${APP_NAME}-webserver | |
restart: unless-stopped | |
working_dir: /application | |
volumes: | |
- .:/application | |
- ./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf | |
ports: | |
- "80:80" | |
- "443:443" | |
adminer: | |
image: adminer | |
container_name: ${APP_NAME}-adminer | |
restart: unless-stopped | |
ports: | |
- "8080:8080" |
FROM phpdockerio/php73-fpm:latest | |
WORKDIR "/application" | |
# Fix debconf warnings upon build | |
ARG DEBIAN_FRONTEND=noninteractive | |
# Install selected extensions and other stuff | |
RUN apt-get update \ | |
&& apt-get -y --no-install-recommends install php7.3-mysql \ | |
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* | |
# Install git | |
RUN apt-get update \ | |
&& apt-get -y install git \ | |
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* |
upload_max_filesize = 100M | |
post_max_size = 108M | |
extension=pdo_mysql |