docker-compose.yaml 1.1 KB

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