version: '3' services: #amd64架构用这个 mysqlmaster01: ports: - 3306:3306 image: docker.io/mysql:5.7 container_name: mysql-master01 environment: MYSQL_ROOT_PASSWORD: 558800 restart: always volumes: - /Users/a1/vmdata/mysqlmaster01/data:/var/lib/mysql mysqlmaster02: ports: - 3307:3306 image: docker.io/mysql:5.7 container_name: mysql-master02 environment: MYSQL_ROOT_PASSWORD: 558800 restart: always volumes: - /Users/a1/vmdata/mysqlmaster02/data:/var/lib/mysql mysqlservice: ports: - 3308:3306 image: docker.io/mysql:5.7 container_name: mysql-service environment: MYSQL_ROOT_PASSWORD: 558800 volumes: - /Users/a1/vmdata/mysql-service/data:/var/lib/mysql restart: always mysqlmasterarm64: ports: - 3306:3306 image: arm64v8/mysql:latest container_name: mysql-master01 environment: MYSQL_ROOT_PASSWORD: 558800 restart: always volumes: - /Users/a1/vmdata/mysqlmaster01/data:/var/lib/mysql pgmaster01: image: library/postgres:14 ports: - 5432:5432 restart: always container_name: pgmaster01 volumes: - /Users/a1/vmdata/pg01-service/data:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: 558800 nginx: image: nginx:1.18.0 container_name: nginx ports: - 8888:80 restart: always volumes: - /Users/a1/vmdata/nginx/html:/usr/share/nginx - /Users/a1/vmdata/nginx/logs:/var/log/nginx - /Users/a1/vmdata/nginx/conf:/etc/nginx/conf.d - /Users/a1/vmdata/nginx/nginx.conf:/etc/nginx/nginx.conf nacos01: container_name: nacos-server01 hostname: nacos-server01 image: nacos/nacos-server:v2.2.0-slim environment: - MODE=cluster - PREFER_HOST_MODE=hostname - NACOS_SERVERS=nacos-server01:8848 nacos-server02:8849 nacos-server03:8850 - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_SERVICE_HOST=192.168.1.38 - MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_USER=root - MYSQL_SERVICE_PASSWORD=558800 - MYSQL_SERVICE_DB_NAME=nacos - JVM_XMS=512m - JVM_XMX=512m - JVM_XMN=256m - JVM_MS=64m - JVM_MMS=128m volumes: - /Users/a1/vmdata/nacos1/logs:/home/nacos/logs - /Users/a1/vmdata/nacos1/init.d/custom.properties:/home/nacos/init.d/custom.properties ports: - 8848:8848 - 9848:9848 - 9849:9849 - 9555:9555 extra_hosts: # master_1容器可以使用的host访问nacos-server02 nacos-server03 - nacos-server02:192.168.1.38 - nacos-server03:192.168.1.38 privileged: true restart: always nacos02: container_name: nacos-server02 hostname: nacos-server02 image: nacos/nacos-server:v2.2.0-slim environment: - MODE=cluster - PREFER_HOST_MODE=hostname - NACOS_SERVERS=nacos-server01:8848 nacos-server02:8849 nacos-server03:8850 - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_SERVICE_HOST=192.168.1.38 - MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_USER=root - MYSQL_SERVICE_PASSWORD=558800 - MYSQL_SERVICE_DB_NAME=nacos - JVM_XMS=512m - JVM_XMX=512m - JVM_XMN=256m - JVM_MS=64m - JVM_MMS=128m volumes: - /Users/a1/vmdata/nacos2/logs:/home/nacos/logs - /Users/a1/vmdata/nacos2/init.d/custom.properties:/home/nacos/init.d/custom.properties ports: - 8849:8848 - 9850:9848 - 9851:9849 - 9556:9555 extra_hosts: # master_1容器可以使用的host访问nacos-server02 nacos-server03 - nacos-server01:192.168.1.38 - nacos-server03:192.168.1.38 privileged: true restart: always nacos03: container_name: nacos-server03 hostname: nacos-server03 image: nacos/nacos-server:v2.2.0-slim environment: - MODE=cluster - PREFER_HOST_MODE=hostname - NACOS_SERVERS=nacos-server01:8848 nacos-server02:8849 nacos-server03:8850 - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_SERVICE_HOST=192.168.1.38 - MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_USER=root - MYSQL_SERVICE_PASSWORD=558800 - MYSQL_SERVICE_DB_NAME=nacos - JVM_XMS=512m - JVM_XMX=512m - JVM_XMN=256m - JVM_MS=64m - JVM_MMS=128m volumes: - /Users/a1/vmdata/nacos3/logs:/home/nacos/logs - /Users/a1/vmdata/nacos3/init.d/custom.properties:/home/nacos/init.d/custom.properties ports: - 8850:8848 - 9852:9848 - 9853:9849 - 9557:9555 extra_hosts: # master_1容器可以使用的host访问nacos-server02 nacos-server03 - nacos-server01:192.168.1.38 - nacos-server02:192.168.1.38 privileged: true restart: always nacosarm64: image: gehuiwin/nacos:2.0.3 hostname: nacos-serverarm01 container_name: nacos-serverarm01 privileged: true restart: always ports: - 8848:8848 volumes: - /Users/a1/vmdata/nacosarm01/logs:/home/nacos/logs environment: - MODE=cluster - PREFER_HOST_MODE=hostname - NACOS_SERVERS=nacos-serverarm01 - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_SERVICE_HOST=192.168.1.38 - MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_USER=root - MYSQL_SERVICE_PASSWORD=558800 - MYSQL_SERVICE_DB_NAME=nacos - JVM_XMS=512m - JVM_XMX=512m - JVM_XMN=256m - JVM_MS=64m - JVM_MMS=128m redis: # 服务名称 image: redis:6.0.0 # redis镜像版本 container_name: redis # 容器名称 ports: - 6379:6379 # 指定宿主机端口与容器端口映射关系,宿主机:容器 volumes: - /Users/a1/vmdata/redis/redis.conf:/etc/redis/redis.conf # 映射配置文件目录,宿主机:容器 - /Users/a1/vmdata/redis/data:/data # 映射数据目录,宿主机:容器 restart: always # 容器开机自启 privileged: true # 获取宿主机root权限 command: ["redis-server","/etc/redis/redis.conf"] # 指定配置文件启动redis-server进程 minio: image: minio/minio container_name: minio ports: - 9010:9000 - 9011:9011 environment: TZ: Asia/Shanghai MINIO_ACCESS_KEY: minio MINIO_SECRET_KEY: minio123 volumes: - /Users/a1/vmdata/minio/data:/data command: server /data --console-address ":9011" seata: image: seataio/seata-server:1.7.1-slim container_name: seata ports: - 8091:8091 - 7091:7091 volumes: - /Users/a1/vmdata/seata/conf:/seata-server/resources privileged: true restart: always sentinel: container_name: sentinel image: bladex/sentinel-dashboard ports: - 8858:8858 restart: always zipkin: image: openzipkin/zipkin container_name: zipkin ports: - 9411:9411 restart: always privileged: true kafka: container_name: kafka image: 'bitnami/kafka:3.5' ports: - '19092:9092' - '19093:9093' environment: ### 通用配置 # 允许使用kraft,即Kafka替代Zookeeper - KAFKA_ENABLE_KRAFT=yes - KAFKA_CFG_NODE_ID=1 # kafka角色,做broker,也要做controller - KAFKA_CFG_PROCESS_ROLES=controller,broker # 定义kafka服务端socket监听端口(Docker内部的ip地址和端口) - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 # 定义外网访问地址(宿主机ip地址和端口)ip不能是0.0.0.0 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.38:19092 # 定义安全协议 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT # 集群地址 - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093 # 指定供外部使用的控制类请求信息 - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER # 设置broker最大内存,和初始内存 - KAFKA_HEAP_OPTS=-Xmx512M -Xms256M # 使用Kafka时的集群id,集群内的Kafka都要用这个id做初始化,生成一个UUID即可(22byte) - KAFKA_KRAFT_CLUSTER_ID=xYcCyHmJlIaLzLoBzVwIcP # 允许使用PLAINTEXT监听器,默认false,不建议在生产环境使用 - ALLOW_PLAINTEXT_LISTENER=yes # 不允许自动创建主题 - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false # broker.id,必须唯一,且与KAFKA_CFG_NODE_ID一致 - KAFKA_BROKER_ID=1