version: '3.6'
networks:
backend:
driver:
overlay
frontend:
driver:
overlay
volumes:
app_vol:
redis_db:
mysql_db:
portainer_data:
services:
portainer:
container_name: portainer
image: portainer/portainer
ports:
- 9001:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
networks:
- frontend
- backend
proxy:
container_name: proxy
image: nginx:alpine
volumes:
- app_vol:/var/www/html
- ./docker/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
ports:
- 80:80
networks:
- backend
- frontend
app:
container_name: app
image: httpd:alpine
volumes:
- app_vol:/var/www/html
- ./docker/apache/http-vhost.conf:/usr/local/apache2/conf/extra/httpd-vhosts.conf
- ./docker/apache/httpd.conf:/usr/local/apache2/conf/httpd.conf
ports:
- 8000:80
networks:
- backend
php-fpm:
container_name: php-fpm
image: php:7.3-fpm-alpine
environment:
PHP_DEBUGGER: "xdebug"
volumes:
- app_vol:/var/www/html
- ./docker/php/conf.d/php.ini:/usr/local/etc/php/conf.d/php.ini
# - ./docker/php/install.sh:/var/www/html/run.sh
ports:
- 9000:9000
networks:
- backend
mysql:
container_name: mysql
image: mysql:8.0.18
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
MYSQL_DATABASE: "laravel"
#MYSQL_ROOT_PASSWORD: "true"
volumes:
- mysql_db:/var/lib/mysql
ports:
- 3306:3306
networks:
- backend
redis:
container_name: redis
image: redis:alpine
volumes:
- redis_db:/data/redis
- ./docker/redis/redis.conf:/data/redis/redis.conf
command: "redis-server /data/redis/redis.conf"
ports:
- 6379:6379
networks:
- backend
- frontend