services: ${APP_SERVICE_NAME}: build: context: . dockerfile: Dockerfile image: ${PROJECT_NAME}-app container_name: ${APP_SERVICE_NAME} restart: unless-stopped working_dir: /var/www/html volumes: - ./app-volume-${PROJECT_NAME}:/var/www/html networks: - ${NETWORK_NAME} ${NGINX_SERVICE_NAME}: image: nginx:latest container_name: ${NGINX_SERVICE_NAME} restart: unless-stopped ports: - "${NGINX_PORT}:80" volumes: - ./app-volume-${PROJECT_NAME}:/var/www/html - ./nginx-volume-${PROJECT_NAME}/default.conf:/etc/nginx/conf.d/default.conf depends_on: - ${APP_SERVICE_NAME} networks: - ${NETWORK_NAME} ${MYSQL_SERVICE_NAME}: image: mysql:8.1 container_name: ${MYSQL_SERVICE_NAME} restart: unless-stopped environment: MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} ports: - "${MYSQL_PORT}:3306" volumes: - ./mysql-volume-${PROJECT_NAME}:/var/lib/mysql networks: - ${NETWORK_NAME} networks: ${NETWORK_NAME}: driver: bridge