docker-compose.yml 9.5 KB

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