services: app: build: context: . dockerfile: Dockerfile container_name: laravel-app restart: unless-stopped working_dir: /var/www/html volumes: - ./:/var/www/html:Z ports: - "8080:80" networks: - laravel depends_on: - db - redis environment: - DB_HOST=db - DB_PORT=3306 - DB_DATABASE=laravel - DB_USERNAME=laravel - DB_PASSWORD=secret - REDIS_HOST=redis - REDIS_PORT=6379 db: image: docker.io/library/mysql:8.0 container_name: laravel-db restart: unless-stopped environment: MYSQL_DATABASE: laravel MYSQL_ROOT_PASSWORD: root MYSQL_USER: laravel MYSQL_PASSWORD: secret volumes: - dbdata:/var/lib/mysql:Z ports: - "3306:3306" networks: - laravel redis: image: docker.io/library/redis:alpine container_name: laravel-redis restart: unless-stopped ports: - "6379:6379" networks: - laravel networks: laravel: driver: bridge volumes: dbdata: driver: local