docker-compose.yml 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. version: '3'
  2. services:
  3. mysql:
  4. image: mysql:8.0.29
  5. container_name: mysql
  6. environment:
  7. # 时区上海
  8. TZ: Asia/Shanghai
  9. # root 密码
  10. MYSQL_ROOT_PASSWORD: ruoyi123
  11. # 初始化数据库
  12. MYSQL_DATABASE: ry-cloud
  13. ports:
  14. - "3306:3306"
  15. volumes:
  16. # 数据挂载
  17. - /docker/mysql/data/:/var/lib/mysql/
  18. # 配置挂载
  19. - /docker/mysql/conf/:/etc/mysql/conf.d/
  20. command:
  21. # 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)
  22. --default-authentication-plugin=mysql_native_password
  23. --character-set-server=utf8mb4
  24. --collation-server=utf8mb4_general_ci
  25. --explicit_defaults_for_timestamp=true
  26. --lower_case_table_names=1
  27. privileged: true
  28. network_mode: "host"
  29. nacos:
  30. image: nacos/nacos-server:v2.1.0
  31. container_name: nacos
  32. ports:
  33. - "8848:8848"
  34. - "9848:9848"
  35. - "9849:9849"
  36. environment:
  37. TZ: Asia/Shanghai
  38. MODE: standalone
  39. SPRING_DATASOURCE_PLATFORM: mysql
  40. MYSQL_SERVICE_HOST: 127.0.0.1
  41. MYSQL_SERVICE_PORT: 3306
  42. MYSQL_SERVICE_USER: root
  43. MYSQL_SERVICE_PASSWORD: ruoyi123
  44. MYSQL_SERVICE_DB_NAME: ry-config
  45. MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
  46. volumes:
  47. - /docker/nacos/logs/:/home/nacos/logs
  48. - /docker/nacos/config/custom.properties:/home/nacos/init.d/custom.properties
  49. privileged: true
  50. network_mode: "host"
  51. redis:
  52. image: redis:6.2.7
  53. container_name: redis
  54. ports:
  55. - "6379:6379"
  56. environment:
  57. # 时区上海
  58. TZ: Asia/Shanghai
  59. volumes:
  60. # 配置文件
  61. - /docker/redis/conf:/redis/config
  62. # 数据文件
  63. - /docker/redis/data/:/redis/data/
  64. command: "redis-server /redis/config/redis.conf"
  65. privileged: true
  66. network_mode: "host"
  67. minio:
  68. image: minio/minio:RELEASE.2022-05-26T05-48-41Z
  69. container_name: minio
  70. ports:
  71. # api 端口
  72. - "9000:9000"
  73. # 控制台端口
  74. - "9001:9001"
  75. environment:
  76. # 时区上海
  77. TZ: Asia/Shanghai
  78. # 管理后台用户名
  79. MINIO_ACCESS_KEY: ruoyi
  80. # 管理后台密码,最小8个字符
  81. MINIO_SECRET_KEY: ruoyi123
  82. # https需要指定域名
  83. MINIO_SERVER_URL: ""
  84. # 开启压缩 on 开启 off 关闭
  85. MINIO_COMPRESS: "off"
  86. # 扩展名 .pdf,.doc 为空 所有类型均压缩
  87. MINIO_COMPRESS_EXTENSIONS: ""
  88. # mime 类型 application/pdf 为空 所有类型均压缩
  89. MINIO_COMPRESS_MIME_TYPES: ""
  90. volumes:
  91. # 映射当前目录下的data目录至容器内/data目录
  92. - /docker/minio/data:/data
  93. # 映射配置目录
  94. - /docker/minio/config:/root/.minio/
  95. command: server --address ':9000' --console-address ':9001' /data # 指定容器中的目录 /data
  96. privileged: true
  97. network_mode: "host"
  98. seata-server:
  99. image: ruoyi/ruoyi-seata-server:1.0.0
  100. container_name: seata-server
  101. ports:
  102. - "7091:7091"
  103. - "8091:8091"
  104. environment:
  105. TZ: Asia/Shanghai
  106. # 注意 此处ip如果是外网使用 要改为外网ip
  107. # SEATA_IP: 127.0.0.1
  108. SEATA_PORT: 8091
  109. volumes:
  110. - /docker/ruoyi-seata-server/logs/:/ruoyi/seata-server/logs
  111. privileged: true
  112. network_mode: "host"
  113. nginx-web:
  114. image: nginx:1.21.6
  115. container_name: nginx-web
  116. environment:
  117. # 时区上海
  118. TZ: Asia/Shanghai
  119. ports:
  120. - "80:80"
  121. - "443:443"
  122. volumes:
  123. # 证书映射
  124. - /docker/nginx/cert:/etc/nginx/cert
  125. # 配置文件映射
  126. - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
  127. # 页面目录
  128. - /docker/nginx/html:/usr/share/nginx/html
  129. # 日志目录
  130. - /docker/nginx/log:/var/log/nginx
  131. privileged: true
  132. network_mode: "host"
  133. sentinel:
  134. image: ruoyi/ruoyi-sentinel-dashboard:1.0.0
  135. container_name: sentinel
  136. environment:
  137. TZ: Asia/Shanghai
  138. ports:
  139. - "8718:8718"
  140. volumes:
  141. # 配置文件
  142. - /docker/ruoyi-sentinel-dashboard/logs/:/ruoyi/sentinel-dashboard/logs
  143. restart: always
  144. network_mode: "host"
  145. ruoyi-monitor-admin:
  146. image: ruoyi/ruoyi-monitor:1.0.0
  147. container_name: ruoyi-monitor
  148. environment:
  149. # 时区上海
  150. TZ: Asia/Shanghai
  151. ports:
  152. - "9100:9100"
  153. volumes:
  154. # 配置文件
  155. - /docker/ruoyi-monitor/logs/:/ruoyi/monitor/logs
  156. privileged: true
  157. network_mode: "host"
  158. ruoyi-xxl-job-admin:
  159. image: ruoyi/ruoyi-xxl-job-admin:1.0.0
  160. container_name: ruoyi-xxl-job-admin
  161. environment:
  162. # 时区上海
  163. TZ: Asia/Shanghai
  164. ports:
  165. - "9900:9900"
  166. volumes:
  167. # 配置文件
  168. - /docker/ruoyi-xxl-job-admin/logs/:/ruoyi/xxl-job-admin/logs
  169. privileged: true
  170. network_mode: "host"
  171. ruoyi-gateway:
  172. image: ruoyi/ruoyi-gateway:1.0.0
  173. container_name: ruoyi-gateway
  174. environment:
  175. # 时区上海
  176. TZ: Asia/Shanghai
  177. ports:
  178. - "8080:8080"
  179. volumes:
  180. # 配置文件
  181. - /docker/ruoyi-gateway/logs/:/ruoyi/gateway/logs
  182. privileged: true
  183. network_mode: "host"
  184. ruoyi-auth:
  185. image: ruoyi/ruoyi-auth:1.0.0
  186. container_name: ruoyi-auth
  187. environment:
  188. # 时区上海
  189. TZ: Asia/Shanghai
  190. ports:
  191. - "9200:9200"
  192. volumes:
  193. # 配置文件
  194. - /docker/ruoyi-auth/logs/:/ruoyi/auth/logs
  195. privileged: true
  196. network_mode: "host"
  197. ruoyi-system:
  198. image: ruoyi/ruoyi-system:1.0.0
  199. container_name: ruoyi-system
  200. environment:
  201. # 时区上海
  202. TZ: Asia/Shanghai
  203. ports:
  204. - "9201:9201"
  205. volumes:
  206. # 配置文件
  207. - /docker/ruoyi-system/logs/:/ruoyi/system/logs
  208. privileged: true
  209. network_mode: "host"
  210. ruoyi-gen:
  211. image: ruoyi/ruoyi-gen:1.0.0
  212. container_name: ruoyi-gen
  213. environment:
  214. # 时区上海
  215. TZ: Asia/Shanghai
  216. ports:
  217. - "9202:9202"
  218. volumes:
  219. # 配置文件
  220. - /docker/ruoyi-gen/logs/:/ruoyi/gen/logs
  221. privileged: true
  222. network_mode: "host"
  223. ruoyi-job:
  224. image: ruoyi/ruoyi-job:1.0.0
  225. container_name: ruoyi-job
  226. environment:
  227. # 时区上海
  228. TZ: Asia/Shanghai
  229. ports:
  230. - "9203:9203"
  231. volumes:
  232. # 配置文件
  233. - /docker/ruoyi-job/logs/:/ruoyi/job/logs
  234. privileged: true
  235. network_mode: "host"
  236. ruoyi-resource:
  237. image: ruoyi/ruoyi-resource:1.0.0
  238. container_name: ruoyi-resource
  239. environment:
  240. # 时区上海
  241. TZ: Asia/Shanghai
  242. ports:
  243. - "9300:9300"
  244. volumes:
  245. # 配置文件
  246. - /docker/ruoyi-resource/logs/:/ruoyi/resource/logs
  247. privileged: true
  248. network_mode: "host"
  249. #################################################################################################
  250. #################################### 以下为扩展根据需求搭建 #########################################
  251. #################################################################################################
  252. elasticsearch:
  253. image: elasticsearch:7.17.2
  254. container_name: elk_elasticsearch
  255. ports:
  256. - "9200:9200"
  257. - "9300:9300"
  258. environment:
  259. # 设置集群名称
  260. cluster.name: elasticsearch
  261. # 以单一节点模式启动
  262. discovery.type: single-node
  263. ES_JAVA_OPTS: "-Xms512m -Xmx512m"
  264. volumes:
  265. - /docker/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins
  266. - /docker/elk/elasticsearch/data:/usr/share/elasticsearch/data
  267. network_mode: "host"
  268. kibana:
  269. image: kibana:7.17.2
  270. container_name: elk_kibana
  271. ports:
  272. - "5601:5601"
  273. depends_on:
  274. # kibana在elasticsearch启动之后再启动
  275. - elasticsearch
  276. environment:
  277. # 设置访问elasticsearch的地址
  278. ELASTICSEARCH_URL: http://127.0.0.1:9200
  279. #设置系统语言文中文
  280. I18N_LOCALE: zh-CN
  281. # 访问域名
  282. # SERVER_PUBLICBASEURL: https://kibana.cloud.com
  283. network_mode: "host"
  284. logstash:
  285. image: logstash:7.17.2
  286. container_name: elk_logstash
  287. ports:
  288. - "4560:4560"
  289. volumes:
  290. - /docker/elk/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
  291. depends_on:
  292. - elasticsearch
  293. network_mode: "host"