docker-compose.yaml 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. services:
  2. backend:
  3. build: backend
  4. restart: always
  5. secrets:
  6. - db-password
  7. environment:
  8. MYSQL_HOST: db
  9. networks:
  10. - react-spring
  11. - spring-mysql
  12. depends_on:
  13. db:
  14. condition: service_healthy
  15. db:
  16. environment:
  17. MYSQL_DATABASE: example
  18. MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db-password
  19. image: mysql:8.0.19
  20. restart: always
  21. healthcheck:
  22. test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
  23. interval: 3s
  24. retries: 5
  25. start_period: 30s
  26. secrets:
  27. - db-password
  28. volumes:
  29. - db-data:/var/lib/mysql
  30. networks:
  31. - spring-mysql
  32. frontend:
  33. build:
  34. context: frontend
  35. target: development
  36. ports:
  37. - 3000:3000
  38. volumes:
  39. - ./frontend/src:/code/src
  40. - /project/node_modules
  41. networks:
  42. - react-spring
  43. depends_on:
  44. - backend
  45. expose:
  46. - 3306
  47. - 33060
  48. volumes:
  49. db-data: {}
  50. secrets:
  51. db-password:
  52. file: db/password.txt
  53. networks:
  54. react-spring: {}
  55. spring-mysql: {}