docker-compose.yml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. version: "3.4"
  2. services:
  3. mysql:
  4. container_name: iot-mysql
  5. image: mysql:8
  6. restart: unless-stopped
  7. tty: true
  8. ports:
  9. - "3306:3306"
  10. environment:
  11. MYSQL_DATABASE: ${MYSQL_DATABASE:-iotkit}
  12. MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-123456}
  13. volumes:
  14. - mysql:/var/lib/mysql/
  15. redis:
  16. container_name: iot-redis
  17. image: redis:6-alpine
  18. restart: unless-stopped
  19. ports:
  20. - "6379:6379"
  21. volumes:
  22. - redis:/data
  23. server:
  24. container_name: iot-server
  25. build:
  26. context: .
  27. image: iot-server
  28. restart: unless-stopped
  29. ports:
  30. - "8089:8086"
  31. - "8088:8082"
  32. environment:
  33. # https://github.com/polovyivan/docker-pass-configs-to-container
  34. SPRING_PROFILES_ACTIVE: mysql
  35. SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_URL: ${MASTER_DATASOURCE_URL:-jdbc:mysql://iot-mysql:3306/iotkit?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
  36. SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_USERNAME: ${MASTER_DATASOURCE_USERNAME:-root}
  37. SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_PASSWORD: ${MASTER_DATASOURCE_PASSWORD:-123456}
  38. # SPRING_DATASOURCE_DYNAMIC_DATASOURCE_SLAVE_URL: ${SLAVE_DATASOURCE_URL:-jdbc:mysql://iot-mysql:3306/iotkit?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
  39. # SPRING_DATASOURCE_DYNAMIC_DATASOURCE_SLAVE_USERNAME: ${SLAVE_DATASOURCE_USERNAME:-root}
  40. # SPRING_DATASOURCE_DYNAMIC_DATASOURCE_SLAVE_PASSWORD: ${SLAVE_DATASOURCE_PASSWORD:-123456}
  41. SPRING_REDIS_HOST: ${REDIS_HOST:-iot-redis}
  42. SPRING_REDIS_PORT: 6379
  43. JAVA_OPTS:
  44. ${JAVA_OPTS:-
  45. -Xms512m
  46. -Xmx512m
  47. -Djava.security.egd=file:/dev/./urandom
  48. -DdisabledEmbeddedRedis=true
  49. }
  50. volumes:
  51. - ./data/dist:/usr/share/nginx/html
  52. depends_on:
  53. - redis
  54. - mysql
  55. volumes:
  56. mysql:
  57. driver: local
  58. redis:
  59. driver: local