version: "3.8" volumes: db-data: services: # Database Server database: container_name: TTP-MySQL image: mysql:8.0 ports: - ${DOCKER_DB_PORT}:3306 environment: MYSQL_ROOT_PASSWORD: ${DOCKER_DB_PASSWORD} MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DOCKER_DB_USERNAME} MYSQL_PASSWORD: ${DOCKER_DB_PASSWORD} volumes: - db-data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin" ,"ping"] interval: 5s timeout: 10s retries: 10 phpmyadmin: container_name: TTP-PhpMyAdmin image: phpmyadmin:latest ports: - '7000:80' restart: always environment: PMA_HOST: database depends_on: database: condition: service_healthy # NGINX webone: container_name: TTP-Nginx build: context: . dockerfile: ./docker/Dockerfile target: nginx volumes: - ./:/var/www/html - ./docker/nginx.conf:/etc/nginx/conf.d/default.conf ports: - "8080:80" links: - php depends_on: - php # apache webtwo: container_name: TTP-Apache build: context: . dockerfile: ./docker/Dockerfile target: apache volumes: - ./:/var/www/html - ./docker/apache.conf:/etc/apache2/sites-available/000-default.conf ports: - "8000:80" environment: - APP_ENV=${APP_ENV} depends_on: - php # php php: container_name: TTP-Php build: context: . dockerfile: ./docker/Dockerfile target: php-fpm working_dir: /var/www/html volumes: - ./:/var/www/html ports: - "9000:9000" environment: - APP_ENV=${APP_ENV} depends_on: database: condition: service_healthy