docker-compose.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. version: '3.8'
  2. services:
  3. # MySQL数据库
  4. mysql:
  5. image: mysql:8.0
  6. container_name: zselectric-openapi-mysql
  7. restart: always
  8. ports:
  9. - "3306:3306"
  10. environment:
  11. MYSQL_ROOT_PASSWORD: root
  12. MYSQL_DATABASE: zs_electric
  13. MYSQL_USER: zselectric
  14. MYSQL_PASSWORD: zselectric123
  15. TZ: Asia/Shanghai
  16. volumes:
  17. - mysql-data:/var/lib/mysql
  18. - ./src/main/resources/sql:/docker-entrypoint-initdb.d
  19. command:
  20. - --character-set-server=utf8mb4
  21. - --collation-server=utf8mb4_unicode_ci
  22. - --default-time-zone=+08:00
  23. networks:
  24. - zselectric-network
  25. # 开放平台API服务
  26. openapi:
  27. build:
  28. context: .
  29. dockerfile: Dockerfile
  30. container_name: zselectric-openapi
  31. restart: always
  32. ports:
  33. - "8081:8081"
  34. environment:
  35. SPRING_PROFILES_ACTIVE: prod
  36. SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/zs_electric?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
  37. SPRING_DATASOURCE_USERNAME: zselectric
  38. SPRING_DATASOURCE_PASSWORD: zselectric123
  39. TZ: Asia/Shanghai
  40. volumes:
  41. - ./logs:/var/log/zsElectric-openapi
  42. depends_on:
  43. - mysql
  44. networks:
  45. - zselectric-network
  46. healthcheck:
  47. test: ["CMD", "curl", "-f", "http://localhost:8081/openapi/api/v1/health/check"]
  48. interval: 30s
  49. timeout: 10s
  50. retries: 3
  51. start_period: 60s
  52. volumes:
  53. mysql-data:
  54. driver: local
  55. networks:
  56. zselectric-network:
  57. driver: bridge