xây dựng docker

This commit is contained in:
Victor Phan
2026-01-14 14:51:03 +07:00
parent a990a01ee5
commit 610c88debc
25 changed files with 1033 additions and 15 deletions

90
docker-compose.yml Normal file
View File

@@ -0,0 +1,90 @@
services:
# PHP & Nginx Application
app:
build:
context: .
dockerfile: Dockerfile
container_name: luckywheel_app
restart: unless-stopped
working_dir: /var/www
volumes:
- ./:/var/www
- ./docker/nginx/default.conf:/etc/nginx/sites-available/default
- ./docker/supervisor/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf
ports:
- "8080:80"
networks:
- luckywheel
depends_on:
- db
- redis
environment:
- APP_ENV=local
- APP_DEBUG=true
- DB_HOST=db
- DB_PORT=3306
- DB_DATABASE=luckywheel
- DB_USERNAME=laravel
- DB_PASSWORD=laravel123
- REDIS_HOST=redis
- REDIS_PORT=6379
# MySQL Database
db:
image: mysql:8.0
container_name: luckywheel_db
restart: unless-stopped
environment:
MYSQL_DATABASE: luckywheel
MYSQL_USER: laravel
MYSQL_PASSWORD: laravel123
MYSQL_ROOT_PASSWORD: root123
MYSQL_ALLOW_EMPTY_PASSWORD: 0
volumes:
- dbdata:/var/lib/mysql
- ./docker/mysql/my.cnf:/etc/mysql/conf.d/my.cnf
ports:
- "3307:3306"
networks:
- luckywheel
command: --default-authentication-plugin=mysql_native_password
# Redis
redis:
image: redis:7-alpine
container_name: luckywheel_redis
restart: unless-stopped
ports:
- "6380:6379"
networks:
- luckywheel
volumes:
- redisdata:/data
# PHPMyAdmin (Optional - for database management)
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: luckywheel_phpmyadmin
restart: unless-stopped
ports:
- "8081:80"
environment:
PMA_HOST: db
PMA_PORT: 3306
PMA_USER: laravel
PMA_PASSWORD: laravel123
UPLOAD_LIMIT: 100M
networks:
- luckywheel
depends_on:
- db
networks:
luckywheel:
driver: bridge
volumes:
dbdata:
driver: local
redisdata:
driver: local