docker-compose.yml 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  1. version: '3'
  2. services:
  3. ####################################################################################################
  4. ###=================================== 以下为中间件模块 =========================================###
  5. ####################################################################################################
  6. nacos:
  7. image: nacos/nacos-server:2.0.1
  8. hostname: "nacos-standalone"
  9. environment:
  10. - MODE=standalone
  11. - TZ=Asia/Shanghai
  12. volumes:
  13. - /docker/nacos/standalone-logs/:/home/nacos/logs
  14. - /docker/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
  15. ports:
  16. - 8848:8848
  17. - 9848:9848
  18. - 9849:9849
  19. networks:
  20. blade_net:
  21. ipv4_address: 172.30.0.48
  22. sentinel:
  23. image: bladex/sentinel-dashboard:1.8.0
  24. hostname: "sentinel"
  25. environment:
  26. - TZ=Asia/Shanghai
  27. ports:
  28. - 8858:8858
  29. restart: on-failure
  30. networks:
  31. blade_net:
  32. ipv4_address: 172.30.0.58
  33. seata-server:
  34. image: seataio/seata-server:1.4.1
  35. hostname: "seata-server"
  36. ports:
  37. - 8091:8091
  38. environment:
  39. - TZ=Asia/Shanghai
  40. - SEATA_PORT=8091
  41. - STORE_MODE=file
  42. networks:
  43. blade_net:
  44. ipv4_address: 172.30.0.68
  45. blade-nginx:
  46. image: nginx:stable-alpine-perl
  47. hostname: "blade-nginx"
  48. environment:
  49. - TZ=Asia/Shanghai
  50. ports:
  51. - 88:88
  52. volumes:
  53. - /docker/nginx/api/nginx.conf:/etc/nginx/nginx.conf
  54. privileged: true
  55. restart: always
  56. networks:
  57. - blade_net
  58. web-nginx:
  59. image: nginx:stable-alpine-perl
  60. hostname: "web-nginx"
  61. environment:
  62. - TZ=Asia/Shanghai
  63. ports:
  64. - 8000:8000
  65. volumes:
  66. - /docker/nginx/web/html:/usr/share/nginx/html
  67. - /docker/nginx/web/nginx.conf:/etc/nginx/nginx.conf
  68. privileged: true
  69. restart: always
  70. networks:
  71. - blade_net
  72. blade-redis:
  73. image: redis:5.0.8-alpine
  74. hostname: "blade-redis"
  75. environment:
  76. - TZ=Asia/Shanghai
  77. ports:
  78. - 3379:6379
  79. volumes:
  80. - /docker/redis/data:/data
  81. command: "redis-server --appendonly yes"
  82. privileged: true
  83. restart: always
  84. networks:
  85. - blade_net
  86. ####################################################################################################
  87. ###================================= 以下为BladeX服务模块 =======================================###
  88. ####################################################################################################
  89. blade-admin:
  90. image: "${REGISTER}/blade-admin:${TAG}"
  91. environment:
  92. - TZ=Asia/Shanghai
  93. ports:
  94. - 7002:7002
  95. privileged: true
  96. restart: always
  97. networks:
  98. blade_net:
  99. ipv4_address: 172.30.0.72
  100. blade-swagger:
  101. image: "${REGISTER}/blade-swagger:${TAG}"
  102. environment:
  103. - TZ=Asia/Shanghai
  104. ports:
  105. - 18000:18000
  106. privileged: true
  107. restart: always
  108. networks:
  109. - blade_net
  110. blade-turbine:
  111. image: "${REGISTER}/blade-turbine:${TAG}"
  112. environment:
  113. - TZ=Asia/Shanghai
  114. ports:
  115. - 7003:7003
  116. privileged: true
  117. restart: always
  118. networks:
  119. - blade_net
  120. blade-gateway1:
  121. image: "${REGISTER}/blade-gateway:${TAG}"
  122. environment:
  123. - TZ=Asia/Shanghai
  124. privileged: true
  125. restart: always
  126. networks:
  127. blade_net:
  128. ipv4_address: 172.30.0.81
  129. blade-gateway2:
  130. image: "${REGISTER}/blade-gateway:${TAG}"
  131. environment:
  132. - TZ=Asia/Shanghai
  133. privileged: true
  134. restart: always
  135. networks:
  136. blade_net:
  137. ipv4_address: 172.30.0.82
  138. blade-auth1:
  139. image: "${REGISTER}/blade-auth:${TAG}"
  140. environment:
  141. - TZ=Asia/Shanghai
  142. privileged: true
  143. restart: always
  144. networks:
  145. blade_net:
  146. ipv4_address: 172.30.0.91
  147. blade-auth2:
  148. image: "${REGISTER}/blade-auth:${TAG}"
  149. environment:
  150. - TZ=Asia/Shanghai
  151. privileged: true
  152. restart: always
  153. networks:
  154. blade_net:
  155. ipv4_address: 172.30.0.92
  156. blade-report:
  157. image: "${REGISTER}/blade-report:${TAG}"
  158. environment:
  159. - TZ=Asia/Shanghai
  160. privileged: true
  161. restart: always
  162. ports:
  163. - 8108:8108
  164. networks:
  165. blade_net:
  166. ipv4_address: 172.30.0.98
  167. blade-log:
  168. image: "${REGISTER}/blade-log:${TAG}"
  169. environment:
  170. - TZ=Asia/Shanghai
  171. privileged: true
  172. restart: always
  173. networks:
  174. - blade_net
  175. blade-desk:
  176. image: "${REGISTER}/blade-desk:${TAG}"
  177. environment:
  178. - TZ=Asia/Shanghai
  179. privileged: true
  180. restart: always
  181. networks:
  182. - blade_net
  183. blade-user:
  184. image: "${REGISTER}/blade-user:${TAG}"
  185. environment:
  186. - TZ=Asia/Shanghai
  187. privileged: true
  188. restart: always
  189. networks:
  190. - blade_net
  191. blade-system:
  192. image: "${REGISTER}/blade-system:${TAG}"
  193. environment:
  194. - TZ=Asia/Shanghai
  195. privileged: true
  196. restart: always
  197. networks:
  198. - blade_net
  199. blade-flow:
  200. image: "${REGISTER}/blade-flow:${TAG}"
  201. environment:
  202. - TZ=Asia/Shanghai
  203. privileged: true
  204. restart: always
  205. networks:
  206. - blade_net
  207. blade-flow-design:
  208. image: "${REGISTER}/blade-flow-design:${TAG}"
  209. environment:
  210. - TZ=Asia/Shanghai
  211. privileged: true
  212. restart: always
  213. ports:
  214. - 9999:9999
  215. networks:
  216. - blade_net
  217. blade-resource:
  218. image: "${REGISTER}/blade-resource:${TAG}"
  219. environment:
  220. - TZ=Asia/Shanghai
  221. privileged: true
  222. restart: always
  223. networks:
  224. - blade_net
  225. ####################################################################################################
  226. ###=============================== 以下为Prometheus监控模块 =====================================###
  227. ####################################################################################################
  228. prometheus:
  229. image: prom/prometheus:v2.24.1
  230. hostname: "prometheus"
  231. environment:
  232. - TZ=Asia/Shanghai
  233. ports:
  234. - 9090:9090
  235. volumes:
  236. - /docker/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
  237. - /docker/prometheus/rules:/etc/prometheus/rules
  238. command: "--config.file=/etc/prometheus/prometheus.yml --web.enable-lifecycle"
  239. privileged: true
  240. restart: always
  241. networks:
  242. blade_net:
  243. ipv4_address: 172.30.0.90
  244. node-exporter:
  245. image: prom/node-exporter:v1.0.1
  246. hostname: "node-exporter"
  247. environment:
  248. - TZ=Asia/Shanghai
  249. ports:
  250. - 9190:9100
  251. privileged: true
  252. restart: always
  253. networks:
  254. blade_net:
  255. ipv4_address: 172.30.0.93
  256. mysqld-exporter:
  257. image: prom/mysqld-exporter:v0.12.1
  258. hostname: "mysqld-exporter"
  259. environment:
  260. - TZ=Asia/Shanghai
  261. # 需要先在mysql服务执行如下语句
  262. # =====================================================================================
  263. # === CREATE USER 'exporter'@'mysql服务ip' IDENTIFIED BY '密码'; ===
  264. # === GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'mysql服务ip'; ===
  265. # === flush privileges; ===
  266. # =====================================================================================
  267. - DATA_SOURCE_NAME=exporter:密码@(mysql服务ip:mysql服务端口)/
  268. ports:
  269. - 9104:9104
  270. privileged: true
  271. restart: always
  272. networks:
  273. blade_net:
  274. ipv4_address: 172.30.0.94
  275. cadvisor:
  276. image: google/cadvisor:v0.33.0
  277. hostname: "cadvisor"
  278. environment:
  279. - TZ=Asia/Shanghai
  280. ports:
  281. - 18080:8080
  282. volumes:
  283. - /:/rootfs:ro
  284. - /var/run:/var/run:rw
  285. - /sys:/sys:ro
  286. - /var/lib/docker/:/var/lib/docker:ro
  287. - /dev/disk/:/dev/disk:ro
  288. command: "detach=true"
  289. privileged: true
  290. restart: always
  291. networks:
  292. blade_net:
  293. ipv4_address: 172.30.0.180
  294. grafana:
  295. image: grafana/grafana:7.3.7
  296. hostname: "grafana"
  297. environment:
  298. - TZ=Asia/Shanghai
  299. - GF_SERVER_ROOT_URL=https://grafana.bladex.vip
  300. - GF_SECURITY_ADMIN_PASSWORD=1qaz@WSX
  301. ports:
  302. - 3000:3000
  303. volumes:
  304. - /docker/grafana/grafana.ini:/etc/grafana/grafana.ini
  305. - /docker/grafana:/var/lib/grafana
  306. privileged: true
  307. restart: always
  308. networks:
  309. blade_net:
  310. ipv4_address: 172.30.0.30
  311. alertmanager:
  312. image: prom/alertmanager:v0.21.0
  313. hostname: "alertmanager"
  314. environment:
  315. - TZ=Asia/Shanghai
  316. ports:
  317. - 9093:9093
  318. volumes:
  319. - /docker/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml
  320. - /docker/alertmanager/data:/etc/alertmanager/data
  321. - /docker/alertmanager/templates:/etc/alertmanager/templates
  322. command: "--config.file=/etc/alertmanager/alertmanager.yml --storage.path=/etc/alertmanager/data"
  323. privileged: true
  324. restart: always
  325. networks:
  326. blade_net:
  327. ipv4_address: 172.30.0.99
  328. webhook-dingtalk:
  329. image: timonwong/prometheus-webhook-dingtalk:v1.4.0
  330. hostname: "webhook-dingtalk"
  331. environment:
  332. - TZ=Asia/Shanghai
  333. ports:
  334. - 8060:8060
  335. command: "ding.profile=webhook_robot=https://oapi.dingtalk.com/robot/send?access_token=xxxxx"
  336. privileged: true
  337. restart: always
  338. networks:
  339. blade_net:
  340. ipv4_address: 172.30.0.96
  341. networks:
  342. blade_net:
  343. driver: bridge
  344. ipam:
  345. config:
  346. - subnet: 172.30.0.0/16