dockerized-php/docker-compose.yml

67 lines
1.4 KiB
YAML
Executable File

services:
app:
build:
context: .
dockerfile: ./docker/php/Dockerfile
container_name: laravel-app
restart: unless-stopped
volumes:
- .:/var/www/html
- ./storage:/var/www/html/storage
- ./bootstrap/cache:/var/www/html/bootstrap/cache
depends_on:
db_mysql:
condition: service_healthy
command:
[ "sh", "-c", "/var/www/html/docker/php/entrypoint.sh" ]
healthcheck:
test: ["CMD", "pgrep", "php-fpm"]
interval: 30s
timeout: 10s
retries: 5
networks:
- app_network
db_mysql:
image: mysql:8.2
container_name: db_mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: laravel
MYSQL_DATABASE: laravel-docker
MYSQL_USER: lrvl_dckr
MYSQL_PASSWORD: laravel
volumes:
- mysql-data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 30s
timeout: 10s
retries: 5
networks:
- app_network
nginx:
image: nginx:alpine
container_name: nginx
restart: unless-stopped
ports:
- "80:80"
volumes:
- .:/var/www/html
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
app:
condition: service_healthy
networks:
- app_network
volumes:
mysql-data:
storage-volume:
driver: local
networks:
app_network:
driver: bridge