docker-compose.yml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. services:
  2. nacos:
  3. image: ruoyi/ruoyi-nacos:2.4.1 # 记得重新构建镜像并更新 tag,或者直接用新镜像
  4. container_name: nacos
  5. ports:
  6. - "8848:8848"
  7. - "9848:9848"
  8. - "9849:9849"
  9. environment:
  10. TZ: Asia/Shanghai
  11. # 👇 强制指定 2G 内存,这与 Dockerfile 中的新默认值一致
  12. JAVA_OPTS: "-Xms2g -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/root/nacos/logs/heapdump.hprof"
  13. volumes:
  14. # 日志目录 注意集群模式下 日志目录不能一致 需要区分例如 nacos1 nacos2
  15. - /home/docker/nacos/logs/:/root/nacos/logs
  16. # 集群配置文件 集群所有nacos都必须使用此文件
  17. - /home/docker/nacos/conf/cluster.conf:/root/nacos/conf/cluster.conf
  18. network_mode: "host"
  19. # 👇 关键:限制容器总内存为 3G (给 JVM 留 2G + 非堆内存 + 系统开销)
  20. # 如果不加这个,JVM 可能会尝试使用更多物理内存导致被 OOM Killer 杀掉
  21. mem_limit: 3g
  22. memswap_limit: 3g # 禁止使用 Swap,避免磁盘 I/O 飙升
  23. redis:
  24. image: redis:7.2.8
  25. container_name: redis
  26. ports:
  27. - "6379:6379"
  28. environment:
  29. # 时区上海
  30. TZ: Asia/Shanghai
  31. volumes:
  32. # 配置文件
  33. - /home/docker/redis/conf:/redis/config
  34. # 数据文件
  35. - /home/docker/redis/data/:/redis/data/
  36. command: "redis-server /redis/config/redis.conf"
  37. privileged: true
  38. network_mode: "host"
  39. minio:
  40. # minio 最后一个未阉割版本 不能再进行升级 在往上的版本功能被阉割
  41. image: minio/minio:RELEASE.2025-04-22T22-12-26Z
  42. container_name: minio
  43. ports:
  44. # api 端口
  45. - "9000:9000"
  46. # 控制台端口
  47. - "9001:9001"
  48. environment:
  49. # 时区上海
  50. TZ: Asia/Shanghai
  51. # 管理后台用户名
  52. MINIO_ROOT_USER: youyida
  53. # 管理后台密码,最小8个字符
  54. MINIO_ROOT_PASSWORD: youyida@123456
  55. # https需要指定域名
  56. #MINIO_SERVER_URL: "https://xxx.com:9000"
  57. #MINIO_BROWSER_REDIRECT_URL: "https://xxx.com:9001"
  58. # 开启压缩 on 开启 off 关闭
  59. MINIO_COMPRESS: "off"
  60. # 扩展名 .pdf,.doc 为空 所有类型均压缩
  61. MINIO_COMPRESS_EXTENSIONS: ""
  62. # mime 类型 application/pdf 为空 所有类型均压缩
  63. MINIO_COMPRESS_MIME_TYPES: ""
  64. volumes:
  65. # 映射当前目录下的data目录至容器内/data目录
  66. - /upload/docker/minio/data:/data
  67. # 映射配置目录
  68. - /upload/docker/minio/config:/root/.minio/
  69. command: server --address ':9000' --console-address ':9001' /data # 指定容器中的目录 /data
  70. privileged: true
  71. network_mode: "host"
  72. seata-server:
  73. image: ruoyi/ruoyi-seata-server:2.4.1
  74. container_name: seata-server
  75. ports:
  76. - "7091:7091"
  77. - "8091:8091"
  78. environment:
  79. TZ: Asia/Shanghai
  80. # 注意 此处ip如果是外网使用 要改为外网ip
  81. # SEATA_IP: 127.0.0.1
  82. SEATA_PORT: 8091
  83. volumes:
  84. - /home/docker/ruoyi-seata-server/logs/:/ruoyi/seata-server/logs
  85. # skywalking 探针
  86. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  87. privileged: true
  88. network_mode: "host"
  89. nginx-web:
  90. image: nginx:1.22.1
  91. container_name: nginx-web
  92. environment:
  93. # 时区上海
  94. TZ: Asia/Shanghai
  95. ports:
  96. - "80:80"
  97. - "443:443"
  98. volumes:
  99. # 证书映射
  100. - /home/docker/nginx/cert:/etc/nginx/cert
  101. # 配置文件映射
  102. - /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
  103. # 页面目录
  104. - /home/docker/nginx/html:/usr/share/nginx/html
  105. # 日志目录
  106. - /home/docker/nginx/log:/var/log/nginx
  107. privileged: true
  108. network_mode: "host"
  109. sentinel:
  110. image: ruoyi/ruoyi-sentinel-dashboard:2.4.1
  111. container_name: sentinel
  112. environment:
  113. TZ: Asia/Shanghai
  114. ports:
  115. - "8718:8718"
  116. volumes:
  117. # 配置文件
  118. - /home/docker/ruoyi-sentinel-dashboard/logs/:/ruoyi/sentinel-dashboard/logs
  119. # skywalking 探针
  120. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  121. restart: always
  122. network_mode: "host"
  123. ruoyi-monitor:
  124. image: ruoyi/ruoyi-monitor:2.4.1
  125. container_name: ruoyi-monitor
  126. environment:
  127. # 时区上海
  128. TZ: Asia/Shanghai
  129. ports:
  130. - "9100:9100"
  131. volumes:
  132. # 配置文件
  133. - /home/docker/ruoyi-monitor/logs/:/ruoyi/monitor/logs
  134. # skywalking 探针
  135. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  136. privileged: true
  137. network_mode: "host"
  138. ruoyi-snailjob-server:
  139. image: ruoyi/ruoyi-snailjob-server:2.4.1
  140. container_name: ruoyi-snailjob-server
  141. environment:
  142. # 时区上海
  143. TZ: Asia/Shanghai
  144. ports:
  145. - "8800:8800"
  146. - "17888:17888"
  147. volumes:
  148. - /home/docker/snailjob/logs/:/ruoyi/snailjob/logs
  149. privileged: true
  150. network_mode: "host"
  151. ruoyi-gateway:
  152. image: ruoyi/ruoyi-gateway:2.4.1
  153. container_name: ruoyi-gateway
  154. environment:
  155. # 时区上海
  156. TZ: Asia/Shanghai
  157. ports:
  158. - "8080:8080"
  159. volumes:
  160. # 配置文件
  161. - /home/docker/ruoyi-gateway/logs/:/ruoyi/gateway/logs
  162. # skywalking 探针
  163. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  164. privileged: true
  165. network_mode: "host"
  166. ruoyi-auth:
  167. image: ruoyi/ruoyi-auth:2.4.1
  168. container_name: ruoyi-auth
  169. environment:
  170. # 时区上海
  171. TZ: Asia/Shanghai
  172. ports:
  173. - "9210:9210"
  174. volumes:
  175. # 配置文件
  176. - /home/docker/ruoyi-auth/logs/:/ruoyi/auth/logs
  177. # skywalking 探针
  178. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  179. privileged: true
  180. network_mode: "host"
  181. ruoyi-system:
  182. image: ruoyi/ruoyi-system:2.4.1
  183. container_name: ruoyi-system
  184. environment:
  185. # 时区上海
  186. TZ: Asia/Shanghai
  187. ports:
  188. - "9201:9201"
  189. volumes:
  190. # 配置文件
  191. - /home/docker/ruoyi-system/logs/:/ruoyi/system/logs
  192. # skywalking 探针
  193. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  194. privileged: true
  195. network_mode: "host"
  196. ruoyi-product:
  197. image: ruoyi/ruoyi-product:2.4.1
  198. container_name: ruoyi-product
  199. environment:
  200. # 时区上海
  201. TZ: Asia/Shanghai
  202. ports:
  203. - "9608:9608"
  204. volumes:
  205. # 配置文件
  206. - /home/docker/ruoyi-product/logs/:/ruoyi/product/logs
  207. # skywalking 探针
  208. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  209. privileged: true
  210. network_mode: "host"
  211. ruoyi-external:
  212. image: ruoyi/ruoyi-external:2.4.1
  213. container_name: ruoyi-external
  214. environment:
  215. # 时区上海
  216. TZ: Asia/Shanghai
  217. ports:
  218. - "9618:9618"
  219. volumes:
  220. # 配置文件
  221. - /home/docker/ruoyi-external/logs/:/ruoyi/external/logs
  222. # skywalking 探针
  223. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  224. privileged: true
  225. network_mode: "host"
  226. ruoyi-order:
  227. image: ruoyi/ruoyi-order:2.4.1
  228. container_name: ruoyi-order
  229. environment:
  230. # 时区上海
  231. TZ: Asia/Shanghai
  232. ports:
  233. - "9213:9213"
  234. volumes:
  235. # 配置文件
  236. - /home/docker/ruoyi-external/logs/:/ruoyi/order/logs
  237. # skywalking 探针
  238. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  239. privileged: true
  240. network_mode: "host"
  241. ruoyi-customer:
  242. image: ruoyi/ruoyi-customer:2.4.1
  243. container_name: ruoyi-customer
  244. environment:
  245. # 时区上海
  246. TZ: Asia/Shanghai
  247. ports:
  248. - "9212:9212"
  249. volumes:
  250. # 配置文件
  251. - /home/docker/ruoyi-external/logs/:/ruoyi/customer/logs
  252. # skywalking 探针
  253. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  254. privileged: true
  255. network_mode: "host"
  256. ruoyi-gen:
  257. image: ruoyi/ruoyi-gen:2.4.1
  258. container_name: ruoyi-gen
  259. environment:
  260. # 时区上海
  261. TZ: Asia/Shanghai
  262. ports:
  263. - "9202:9202"
  264. volumes:
  265. # 配置文件
  266. - /home/docker/ruoyi-gen/logs/:/ruoyi/gen/logs
  267. # skywalking 探针
  268. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  269. privileged: true
  270. network_mode: "host"
  271. ruoyi-bill:
  272. image: ruoyi/ruoyi-bill:2.4.1
  273. container_name: ruoyi-bill
  274. environment:
  275. # 时区上海
  276. TZ: Asia/Shanghai
  277. ports:
  278. - "9318:9318"
  279. volumes:
  280. # 配置文件
  281. - /home/docker/ruoyi-bill/logs/:/ruoyi/bill/logs
  282. # skywalking 探针
  283. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  284. privileged: true
  285. network_mode: "host"
  286. ruoyi-mall:
  287. image: ruoyi/ruoyi-mall:2.4.1
  288. container_name: ruoyi-mall
  289. environment:
  290. # 时区上海
  291. TZ: Asia/Shanghai
  292. ports:
  293. - "9216:9216"
  294. volumes:
  295. # 配置文件
  296. - /home/docker/ruoyi-mall/logs/:/ruoyi/mall/logs
  297. # skywalking 探针
  298. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  299. privileged: true
  300. network_mode: "host"
  301. ruoyi-job:
  302. image: ruoyi/ruoyi-job:2.4.1
  303. container_name: ruoyi-job
  304. environment:
  305. # 时区上海
  306. TZ: Asia/Shanghai
  307. SERVER_PORT: 9203
  308. SNAIL_PORT: 19203
  309. ports:
  310. - "9203:9203"
  311. volumes:
  312. # 配置文件
  313. - /home/docker/ruoyi-job/logs/:/ruoyi/job/logs
  314. # skywalking 探针
  315. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  316. privileged: true
  317. network_mode: "host"
  318. ruoyi-resource:
  319. image: ruoyi/ruoyi-resource:2.4.1
  320. container_name: ruoyi-resource
  321. environment:
  322. # 时区上海
  323. TZ: Asia/Shanghai
  324. ports:
  325. - "9204:9204"
  326. volumes:
  327. # 配置文件
  328. - /home/docker/ruoyi-resource/logs/:/ruoyi/resource/logs
  329. # skywalking 探针
  330. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  331. privileged: true
  332. network_mode: "host"
  333. ruoyi-workflow:
  334. image: ruoyi/ruoyi-workflow:2.4.1
  335. container_name: ruoyi-workflow
  336. environment:
  337. # 时区上海
  338. TZ: Asia/Shanghai
  339. ports:
  340. - "9205:9205"
  341. volumes:
  342. # 配置文件
  343. - /home/docker/ruoyi-workflow/logs/:/ruoyi/workflow/logs
  344. # skywalking 探针
  345. - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
  346. privileged: true
  347. network_mode: "host"
  348. #################################################################################################
  349. #################################### 以下为扩展根据需求搭建 #########################################
  350. #################################################################################################