docker-compose.yml 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. version: '3'
  2. services:
  3. #amd64架构用这个
  4. mysqlmaster01:
  5. ports:
  6. - 3306:3306
  7. image: docker.io/mysql:5.7
  8. container_name: mysql-master01
  9. environment:
  10. MYSQL_ROOT_PASSWORD: 558800
  11. restart: always
  12. volumes:
  13. - /Users/a1/vmdata/mysqlmaster01/data:/var/lib/mysql
  14. mysqlmaster02:
  15. ports:
  16. - 3307:3306
  17. image: docker.io/mysql:5.7
  18. container_name: mysql-master02
  19. environment:
  20. MYSQL_ROOT_PASSWORD: 558800
  21. restart: always
  22. volumes:
  23. - /Users/a1/vmdata/mysqlmaster02/data:/var/lib/mysql
  24. mysqlservice:
  25. ports:
  26. - 3308:3306
  27. image: docker.io/mysql:5.7
  28. container_name: mysql-service
  29. environment:
  30. MYSQL_ROOT_PASSWORD: 558800
  31. volumes:
  32. - /Users/a1/vmdata/mysql-service/data:/var/lib/mysql
  33. restart: always
  34. mysqlmasterarm64:
  35. ports:
  36. - 3306:3306
  37. image: arm64v8/mysql:latest
  38. container_name: mysql-master01
  39. environment:
  40. MYSQL_ROOT_PASSWORD: 558800
  41. restart: always
  42. volumes:
  43. - /Users/a1/vmdata/mysqlmaster01/data:/var/lib/mysql
  44. pgmaster01:
  45. image: library/postgres:14
  46. ports:
  47. - 5432:5432
  48. restart: always
  49. container_name: pgmaster01
  50. volumes:
  51. - /Users/a1/vmdata/pg01-service/data:/var/lib/postgresql/data
  52. environment:
  53. POSTGRES_PASSWORD: 558800
  54. nginx:
  55. image: nginx:1.18.0
  56. container_name: nginx
  57. ports:
  58. - 8888:80
  59. restart: always
  60. volumes:
  61. - /Users/a1/vmdata/nginx/html:/usr/share/nginx
  62. - /Users/a1/vmdata/nginx/logs:/var/log/nginx
  63. - /Users/a1/vmdata/nginx/conf:/etc/nginx/conf.d
  64. - /Users/a1/vmdata/nginx/nginx.conf:/etc/nginx/nginx.conf
  65. nacos01:
  66. container_name: nacos-server01
  67. hostname: nacos-server01
  68. image: nacos/nacos-server:v2.2.0-slim
  69. environment:
  70. - MODE=cluster
  71. - PREFER_HOST_MODE=hostname
  72. - NACOS_SERVERS=nacos-server01:8848 nacos-server02:8849 nacos-server03:8850
  73. - SPRING_DATASOURCE_PLATFORM=mysql
  74. - MYSQL_SERVICE_HOST=192.168.1.38
  75. - MYSQL_SERVICE_PORT=3306
  76. - MYSQL_SERVICE_USER=root
  77. - MYSQL_SERVICE_PASSWORD=558800
  78. - MYSQL_SERVICE_DB_NAME=nacos
  79. - JVM_XMS=512m
  80. - JVM_XMX=512m
  81. - JVM_XMN=256m
  82. - JVM_MS=64m
  83. - JVM_MMS=128m
  84. volumes:
  85. - /Users/a1/vmdata/nacos1/logs:/home/nacos/logs
  86. - /Users/a1/vmdata/nacos1/init.d/custom.properties:/home/nacos/init.d/custom.properties
  87. ports:
  88. - 8848:8848
  89. - 9848:9848
  90. - 9849:9849
  91. - 9555:9555
  92. extra_hosts:
  93. # master_1容器可以使用的host访问nacos-server02 nacos-server03
  94. - nacos-server02:192.168.1.38
  95. - nacos-server03:192.168.1.38
  96. privileged: true
  97. restart: always
  98. nacos02:
  99. container_name: nacos-server02
  100. hostname: nacos-server02
  101. image: nacos/nacos-server:v2.2.0-slim
  102. environment:
  103. - MODE=cluster
  104. - PREFER_HOST_MODE=hostname
  105. - NACOS_SERVERS=nacos-server01:8848 nacos-server02:8849 nacos-server03:8850
  106. - SPRING_DATASOURCE_PLATFORM=mysql
  107. - MYSQL_SERVICE_HOST=192.168.1.38
  108. - MYSQL_SERVICE_PORT=3306
  109. - MYSQL_SERVICE_USER=root
  110. - MYSQL_SERVICE_PASSWORD=558800
  111. - MYSQL_SERVICE_DB_NAME=nacos
  112. - JVM_XMS=512m
  113. - JVM_XMX=512m
  114. - JVM_XMN=256m
  115. - JVM_MS=64m
  116. - JVM_MMS=128m
  117. volumes:
  118. - /Users/a1/vmdata/nacos2/logs:/home/nacos/logs
  119. - /Users/a1/vmdata/nacos2/init.d/custom.properties:/home/nacos/init.d/custom.properties
  120. ports:
  121. - 8849:8848
  122. - 9850:9848
  123. - 9851:9849
  124. - 9556:9555
  125. extra_hosts:
  126. # master_1容器可以使用的host访问nacos-server02 nacos-server03
  127. - nacos-server01:192.168.1.38
  128. - nacos-server03:192.168.1.38
  129. privileged: true
  130. restart: always
  131. nacos03:
  132. container_name: nacos-server03
  133. hostname: nacos-server03
  134. image: nacos/nacos-server:v2.2.0-slim
  135. environment:
  136. - MODE=cluster
  137. - PREFER_HOST_MODE=hostname
  138. - NACOS_SERVERS=nacos-server01:8848 nacos-server02:8849 nacos-server03:8850
  139. - SPRING_DATASOURCE_PLATFORM=mysql
  140. - MYSQL_SERVICE_HOST=192.168.1.38
  141. - MYSQL_SERVICE_PORT=3306
  142. - MYSQL_SERVICE_USER=root
  143. - MYSQL_SERVICE_PASSWORD=558800
  144. - MYSQL_SERVICE_DB_NAME=nacos
  145. - JVM_XMS=512m
  146. - JVM_XMX=512m
  147. - JVM_XMN=256m
  148. - JVM_MS=64m
  149. - JVM_MMS=128m
  150. volumes:
  151. - /Users/a1/vmdata/nacos3/logs:/home/nacos/logs
  152. - /Users/a1/vmdata/nacos3/init.d/custom.properties:/home/nacos/init.d/custom.properties
  153. ports:
  154. - 8850:8848
  155. - 9852:9848
  156. - 9853:9849
  157. - 9557:9555
  158. extra_hosts:
  159. # master_1容器可以使用的host访问nacos-server02 nacos-server03
  160. - nacos-server01:192.168.1.38
  161. - nacos-server02:192.168.1.38
  162. privileged: true
  163. restart: always
  164. nacosarm64:
  165. image: gehuiwin/nacos:2.0.3
  166. hostname: nacos-serverarm01
  167. container_name: nacos-serverarm01
  168. privileged: true
  169. restart: always
  170. ports:
  171. - 8848:8848
  172. volumes:
  173. - /Users/a1/vmdata/nacosarm01/logs:/home/nacos/logs
  174. environment:
  175. - MODE=cluster
  176. - PREFER_HOST_MODE=hostname
  177. - NACOS_SERVERS=nacos-serverarm01
  178. - SPRING_DATASOURCE_PLATFORM=mysql
  179. - MYSQL_SERVICE_HOST=192.168.1.38
  180. - MYSQL_SERVICE_PORT=3306
  181. - MYSQL_SERVICE_USER=root
  182. - MYSQL_SERVICE_PASSWORD=558800
  183. - MYSQL_SERVICE_DB_NAME=nacos
  184. - JVM_XMS=512m
  185. - JVM_XMX=512m
  186. - JVM_XMN=256m
  187. - JVM_MS=64m
  188. - JVM_MMS=128m
  189. redis: # 服务名称
  190. image: redis:6.0.0 # redis镜像版本
  191. container_name: redis # 容器名称
  192. ports:
  193. - 6379:6379 # 指定宿主机端口与容器端口映射关系,宿主机:容器
  194. volumes:
  195. - /Users/a1/vmdata/redis/redis.conf:/etc/redis/redis.conf # 映射配置文件目录,宿主机:容器
  196. - /Users/a1/vmdata/redis/data:/data # 映射数据目录,宿主机:容器
  197. restart: always # 容器开机自启
  198. privileged: true # 获取宿主机root权限
  199. command: ["redis-server","/etc/redis/redis.conf"] # 指定配置文件启动redis-server进程
  200. minio:
  201. image: minio/minio
  202. container_name: minio
  203. ports:
  204. - 9010:9000
  205. - 9011:9011
  206. environment:
  207. TZ: Asia/Shanghai
  208. MINIO_ACCESS_KEY: minio
  209. MINIO_SECRET_KEY: minio123
  210. volumes:
  211. - /Users/a1/vmdata/minio/data:/data
  212. command: server /data --console-address ":9011"
  213. seata:
  214. image: seataio/seata-server:1.7.1-slim
  215. container_name: seata
  216. ports:
  217. - 8091:8091
  218. - 7091:7091
  219. volumes:
  220. - /Users/a1/vmdata/seata/conf:/seata-server/resources
  221. privileged: true
  222. restart: always
  223. sentinel:
  224. container_name: sentinel
  225. image: bladex/sentinel-dashboard
  226. ports:
  227. - 8858:8858
  228. restart: always
  229. zipkin:
  230. image: openzipkin/zipkin
  231. container_name: zipkin
  232. ports:
  233. - 9411:9411
  234. restart: always
  235. privileged: true
  236. kafka:
  237. container_name: kafka
  238. image: 'bitnami/kafka:3.5'
  239. ports:
  240. - '19092:9092'
  241. - '19093:9093'
  242. environment:
  243. ### 通用配置
  244. # 允许使用kraft,即Kafka替代Zookeeper
  245. - KAFKA_ENABLE_KRAFT=yes
  246. - KAFKA_CFG_NODE_ID=1
  247. # kafka角色,做broker,也要做controller
  248. - KAFKA_CFG_PROCESS_ROLES=controller,broker
  249. # 定义kafka服务端socket监听端口(Docker内部的ip地址和端口)
  250. - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
  251. # 定义外网访问地址(宿主机ip地址和端口)ip不能是0.0.0.0
  252. - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.38:19092
  253. # 定义安全协议
  254. - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
  255. # 集群地址
  256. - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
  257. # 指定供外部使用的控制类请求信息
  258. - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
  259. # 设置broker最大内存,和初始内存
  260. - KAFKA_HEAP_OPTS=-Xmx512M -Xms256M
  261. # 使用Kafka时的集群id,集群内的Kafka都要用这个id做初始化,生成一个UUID即可(22byte)
  262. - KAFKA_KRAFT_CLUSTER_ID=xYcCyHmJlIaLzLoBzVwIcP
  263. # 允许使用PLAINTEXT监听器,默认false,不建议在生产环境使用
  264. - ALLOW_PLAINTEXT_LISTENER=yes
  265. # 不允许自动创建主题
  266. - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false
  267. # broker.id,必须唯一,且与KAFKA_CFG_NODE_ID一致
  268. - KAFKA_BROKER_ID=1