docker-compose.yml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. #compose版本
  2. version: '2.33.0'
  3. #服务列表
  4. services:
  5. mysql:
  6. build:
  7. context: .
  8. dockerfile: ./mysql/Dockerfile
  9. #容器名称
  10. container_name: energy-mysql
  11. #端口映射
  12. ports:
  13. - ${MYSQL_HOST_PORT}:3306
  14. environment:
  15. # - MYSQL_ROOT_USER=${MYSQL_ROOT_USER}
  16. - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
  17. - TZ=Asia/Shanghai
  18. #将mysql目录映射到本地 应根据自己所需要映射的目录进行修改
  19. volumes:
  20. - ${PARENT_WORK_DIR}/mysql-data/conf:/etc/mysql/conf.d
  21. #根据日志路径配置
  22. - ${PARENT_WORK_DIR}/mysql-data/logs:/var/log/mysql
  23. - ${PARENT_WORK_DIR}/mysql-data/data:/var/lib/mysql
  24. restart: on-failure
  25. networks:
  26. phm_net:
  27. ipv4_address: 172.40.0.20
  28. redis:
  29. image: redis
  30. container_name: energy-redis
  31. environment:
  32. - REDIS_PASSWORD=${REDIS_PASSWORD}
  33. - TZ=Asia/Shanghai
  34. ports:
  35. - ${REDIS_HOST_PORT}:6379
  36. volumes:
  37. - ${PARENT_WORK_DIR}/redis-data/data:/data
  38. - ${PARENT_WORK_DIR}/redis-data/conf/redis.conf:/usr/local/etc/redis/redis.conf
  39. - ${PARENT_WORK_DIR}/redis-data/logs:/logs
  40. restart: on-failure
  41. networks:
  42. phm_net:
  43. ipv4_address: 172.40.0.21
  44. nacos:
  45. image: nacos/nacos-server
  46. container_name: energy-nacos
  47. #如果挂载卷中指定nacos application.properties文件,则不需要指定以下环境变量
  48. environment:
  49. - SPRING_DATASOURCE_PLATFORM=${SPRING_DATASOURCE_PLATFORM}
  50. - MYSQL_SERVICE_HOST=${MYSQL_SERVICE_HOST}
  51. - MYSQL_SERVICE_DB_NAME=${MYSQL_SERVICE_DB_NAME}
  52. - MYSQL_SERVICE_DB_PARAM=${MYSQL_SERVICE_DB_PARAM}
  53. - MYSQL_SERVICE_USER=${MYSQL_ROOT_USER}
  54. - MYSQL_SERVICE_PASSWORD=${MYSQL_ROOT_PASSWORD}
  55. - MODE=${MODE}
  56. # - NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
  57. ports:
  58. - "8849:8848"
  59. volumes:
  60. - ${PARENT_WORK_DIR}/nacos/logs:/home/nacos/logs
  61. restart: on-failure
  62. depends_on:
  63. - mysql
  64. networks:
  65. phm_net:
  66. ipv4_address: 172.40.0.22
  67. xxl_job:
  68. build:
  69. context: .
  70. dockerfile: ./xxl-job/Dockerfile
  71. container_name: energy-xxl-job
  72. ports:
  73. - "16800:16900"
  74. environment:
  75. - TZ=Asia/Shanghai
  76. # volumes:
  77. # - ${PARENT_WORK_DIR}/xxl-job/conf:/data/applogs/xxl-job/conf
  78. depends_on:
  79. - mysql
  80. restart: on-failure
  81. networks:
  82. phm_net:
  83. ipv4_address: 172.40.0.23
  84. minio:
  85. image: minio/minio:latest
  86. container_name: energy-minio
  87. ports:
  88. - "9000:9000"
  89. - "9001:9001"
  90. environment:
  91. - MINIO_ROOT_USER=zgh-zn-nacos
  92. - MINIO_ROOT_PASSWORD=zgh-zn-nacos-password
  93. volumes:
  94. - ${PARENT_WORK_DIR}/minio-data/data:/data
  95. command: server /data --console-address ":9001"
  96. healthcheck:
  97. test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
  98. interval: 30s
  99. timeout: 20s
  100. retries: 3
  101. networks:
  102. phm_net:
  103. ipv4_address: 172.40.0.24
  104. #自动创建bucket
  105. mc:
  106. image: minio/mc:latest
  107. container_name: mc
  108. depends_on:
  109. minio:
  110. condition: service_healthy
  111. entrypoint: >
  112. /bin/sh -c "
  113. /usr/bin/mc alias set theminio http://172.40.0.24:9000 zgh-zn-nacos zgh-zn-nacos-password;
  114. /usr/bin/mc mb theminio/bucket-zhzn;
  115. /usr/bin/mc policy set public theminio/bucket-zhzn;
  116. exit 0;
  117. "
  118. EOF
  119. networks:
  120. - phm_net
  121. energy-admin:
  122. # 指定构建文件
  123. build:
  124. context: .
  125. # dockerfile文件所在路径
  126. dockerfile: ./app/Dockerfile
  127. container_name: energy-admin
  128. environment:
  129. - TZ=Asia/Shanghai
  130. #端口映射
  131. ports:
  132. - "16200:16200"
  133. volumes:
  134. - ${PARENT_WORK_DIR}/energy/logs:/data/app/logs
  135. restart: on-failure
  136. depends_on:
  137. - mysql
  138. - redis
  139. - nacos
  140. - minio
  141. networks:
  142. phm_net:
  143. ipv4_address: 172.40.0.25
  144. nginx:
  145. image: nginx:stable-perl
  146. ports:
  147. - "80:80"
  148. - "443:443"
  149. environment:
  150. - TZ=Asia/Shanghai
  151. #挂载卷
  152. volumes:
  153. - ${PARENT_WORK_DIR}/nginx/nginx.conf:/etc/nginx/nginx.conf
  154. - ${PARENT_WORK_DIR}/nginx/conf.d:/etc/nginx/conf.d
  155. - ${PARENT_WORK_DIR}/nginx/logs:/etc/nginx/logs
  156. - ${PARENT_WORK_DIR}/nginx/html:/usr/share/nginx/html
  157. - ${PARENT_WORK_DIR}/nginx/static:/usr/share/nginx/static
  158. #启动时执行的命令
  159. command: /bin/sh -c "nginx -g 'daemon off;'"
  160. #重启方式
  161. restart: on-failure
  162. networks:
  163. phm_net:
  164. driver: bridge
  165. ipam:
  166. config:
  167. - subnet: 172.40.0.0/16