docker-compose.yml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. - "8086:8086"
  31. environment:
  32. # https://github.com/polovyivan/docker-pass-configs-to-container
  33. SPRING_PROFILES_ACTIVE: local
  34. JAVA_OPTS:
  35. ${JAVA_OPTS:-
  36. -Xms512m
  37. -Xmx512m
  38. -Djava.security.egd=file:/dev/./urandom
  39. }
  40. ARGS:
  41. --spring.datasource.dynamic.datasource.master.url=${MASTER_DATASOURCE_URL:-jdbc:mysql://iot-mysql:3306/iotkit?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
  42. --spring.datasource.dynamic.datasource.master.username=${MASTER_DATASOURCE_USERNAME:-root}
  43. --spring.datasource.dynamic.datasource.master.password=${MASTER_DATASOURCE_PASSWORD:-123456}
  44. --spring.datasource.dynamic.datasource.slave.url=${SLAVE_DATASOURCE_URL:-jdbc:mysql://iot-mysql:3306/iotkit?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
  45. --spring.datasource.dynamic.datasource.slave.username=${SLAVE_DATASOURCE_USERNAME:-root}
  46. --spring.datasource.dynamic.datasource.slave.password=${SLAVE_DATASOURCE_PASSWORD:-123456}
  47. --spring.redis.host=${REDIS_HOST:-iot-redis}
  48. depends_on:
  49. - redis
  50. admin:
  51. container_name: iot-admin
  52. build:
  53. context: ./iot-ui-admin
  54. args:
  55. NODE_ENV:
  56. ENV=${NODE_ENV:-production}
  57. PUBLIC_PATH=${PUBLIC_PATH:-/}
  58. VUE_APP_TITLE=${VUE_APP_TITLE:-openiita管理系统}
  59. image: iot-admin
  60. restart: unless-stopped
  61. ports:
  62. - "8080:80"
  63. depends_on:
  64. - server
  65. volumes:
  66. mysql:
  67. driver: local
  68. redis:
  69. driver: local