docker-compose.yml 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. version: '3.8'
  2. services:
  3. app:
  4. build: .
  5. ports:
  6. - "8080:8080"
  7. environment:
  8. - DB_HOST=mysql
  9. - DB_PORT=3306
  10. - DB_USER=root
  11. - DB_PASSWORD=rootpassword
  12. - DB_NAME=web_training
  13. - REDIS_HOST=redis
  14. - REDIS_PORT=6379
  15. depends_on:
  16. - mysql
  17. - redis
  18. volumes:
  19. - ./uploads:/app/uploads
  20. - ./logs:/app/logs
  21. networks:
  22. - web-training-network
  23. mysql:
  24. image: mysql:8.0
  25. environment:
  26. - MYSQL_ROOT_PASSWORD=rootpassword
  27. - MYSQL_DATABASE=web_training
  28. - MYSQL_USER=webuser
  29. - MYSQL_PASSWORD=webpassword
  30. ports:
  31. - "3306:3306"
  32. volumes:
  33. - mysql_data:/var/lib/mysql
  34. - ./scripts/init.sql:/docker-entrypoint-initdb.d/init.sql
  35. networks:
  36. - web-training-network
  37. redis:
  38. image: redis:6.2-alpine
  39. ports:
  40. - "6379:6379"
  41. volumes:
  42. - redis_data:/data
  43. networks:
  44. - web-training-network
  45. adminer:
  46. image: adminer
  47. ports:
  48. - "8081:8080"
  49. depends_on:
  50. - mysql
  51. networks:
  52. - web-training-network
  53. volumes:
  54. mysql_data:
  55. redis_data:
  56. networks:
  57. web-training-network:
  58. driver: bridge