常用docker-compose

mysql、redis、rabbitmq

version: '3.8'

services:

  mysql:
    image: mysql:8.0.33
    container_name: common-mysql8
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: my
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql
    #platform: linux/arm64
    platform: linux/amd64
    restart: always

  redis:
    image: redis:6.2.12
    container_name: common-redis6
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data
    environment:
      TZ: Asia/Shanghai
    #command: ["redis-server", "--requirepass", "yourpassword"]  # 直接在启动命令中写死密码
    #platform: linux/arm64
    platform: linux/amd64
    restart: always

  rabbitmq:
    image: rabbitmq:management
    container_name: rabbitmq-container
    environment:
      - RABBITMQ_DEFAULT_USER=YOURUSERNAME
      - RABBITMQ_DEFAULT_PASS=YOURPASSWORD
    ports:
      - "5672:5672"   # AMQP 端口
      - "15672:15672" # RabbitMQ 管理界面端口


volumes:
  mysql_data:
  redis_data:

minio

services:
  minio:
    image: minio/minio:latest
    container_name: minio
    environment:
      MINIO_ROOT_USER: "minioadmin"  # 管理员用户名
      MINIO_ROOT_PASSWORD: "minioadmin"  # 管理员密码
    ports:
      - "9000:9000"  # MinIO API 端口
      - "9001:9001"  # MinIO 控制台端口
    volumes:
      - ./minio_data:/data  # 持久化存储
    command: server /data --console-address ":9001"
    restart: unless-stopped

nsq

services:
  # 服务发现组件 nsqlookupd
  nsqlookupd:
    image: nsqio/nsq  # 使用官方 NSQ 镜像
    command: /nsqlookupd  # 启动命令,运行 nsqlookupd 服务,用于服务发现
    ports:
      - "4160:4160"  # 映射 4160 端口,用于 TCP 连接,让 nsqd 可以注册自己
      - "4161:4161"  # 映射 4161 端口,用于 HTTP 连接,供管理工具和消费者发现服务

  # 消息队列核心组件 nsqd
  nsqd:
    image: nsqio/nsq  # 使用官方 NSQ 镜像
    command: /nsqd --lookupd-tcp-address=nsqlookupd:4160  # 启动 nsqd,指定 nsqlookupd 地址,供 nsqd 注册
    depends_on:
      - nsqlookupd  # 指定依赖关系,确保 nsqlookupd 服务先启动
    ports:
      - "4150:4150"  # 映射 4150 端口,供消费者通过 TCP 连接订阅消息
      - "4151:4151"  # 映射 4151 端口,供生产者通过 HTTP 连接发布消息

  # 管理界面组件 nsqadmin
  nsqadmin:
    image: nsqio/nsq  # 使用官方 NSQ 镜像
    command: /nsqadmin --lookupd-http-address=nsqlookupd:4161  # 启动 nsqadmin,连接到 nsqlookupd 的 HTTP 地址
    depends_on:
      - nsqlookupd  # 指定依赖关系,确保 nsqlookupd 服务先启动
    ports:
      - "4171:4171"  # 映射 4171 端口,通过 HTTP 提供管理界面访问
无标签
评论区
头像