104 lines
2.4 KiB
YAML
104 lines
2.4 KiB
YAML
services:
|
|
mysql:
|
|
image: mysql:latest
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: rootpassword
|
|
MYSQL_DATABASE: laravel_db
|
|
volumes:
|
|
- mysql-data:/var/lib/mysql
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-prootpassword"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
restart: unless-stopped
|
|
|
|
laravel:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./laravel:/var/www/html
|
|
environment:
|
|
- DB_HOST=mysql
|
|
- DB_PORT=3306
|
|
- DB_DATABASE=laravel_db
|
|
- DB_USERNAME=root
|
|
- DB_PASSWORD=rootpassword
|
|
healthcheck:
|
|
test: ["CMD", "pgrep", "php-fpm"] # Corrected to check PHP-FPM instead of relying on Nginx
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
restart: unless-stopped
|
|
|
|
nginx:
|
|
image: nginx:latest
|
|
depends_on:
|
|
laravel:
|
|
condition: service_healthy
|
|
ports:
|
|
- "80:80" # Ensure Laravel is accessible on port 80
|
|
volumes:
|
|
- ./nginx.conf:/etc/nginx/conf.d/default.conf
|
|
- ./laravel:/var/www/html
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
mysql-data:
|
|
|
|
|
|
# services:
|
|
# mysql:
|
|
# image: mysql:latest
|
|
# environment:
|
|
# MYSQL_ROOT_PASSWORD: rootpassword
|
|
# MYSQL_DATABASE: laravel_db
|
|
# volumes:
|
|
# - mysql-data:/var/lib/mysql
|
|
# healthcheck:
|
|
# test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
|
# interval: 10s
|
|
# timeout: 5s
|
|
# retries: 5
|
|
# restart: unless-stopped
|
|
|
|
# laravel:
|
|
# build:
|
|
# context: .
|
|
# dockerfile: Dockerfile
|
|
# depends_on:
|
|
# mysql:
|
|
# condition: service_healthy
|
|
# volumes:
|
|
# - ./laravel:/var/www/html
|
|
# environment:
|
|
# - DB_HOST=mysql
|
|
# - DB_PORT=3306
|
|
# - DB_DATABASE=laravel_db
|
|
# - DB_USERNAME=root
|
|
# - DB_PASSWORD=rootpassword
|
|
# healthcheck:
|
|
# test: ["CMD", "pgrep", "php-fpm"]
|
|
# interval: 10s
|
|
# timeout: 5s
|
|
# retries: 5
|
|
# restart: unless-stopped
|
|
|
|
# nginx:
|
|
# image: nginx:latest
|
|
# depends_on:
|
|
# laravel:
|
|
# condition: service_healthy
|
|
# ports:
|
|
# - "8080:80"
|
|
# volumes:
|
|
# - ./nginx.conf:/etc/nginx/conf.d/default.conf
|
|
# - ./laravel:/var/www/html
|
|
# restart: unless-stopped
|
|
|
|
# volumes:
|
|
# mysql-data: |