docker-compose.yml 4.7 KB

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