minio服务集群搭建

1.创建文件

js 复制代码
mkdir -p data/{minio1,minio2,minio3,minio4}
touch docker-compose.yml
touch minio.conf

2.docker-compose.yml

js 复制代码
version: "3.8"

services:
  minio1:
    image: registry.cn-hangzhou.aliyuncs.com/snow-io/minio:RELEASE.2023-01-02T09-40-09Z
    container_name: minio1
    restart: always
    command: server http://minio{1...4}/data --console-address ":9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: hjm029796
    volumes:
      - ./data/minio1:/data
    networks:
      - minio_net

  minio2:
    image: registry.cn-hangzhou.aliyuncs.com/snow-io/minio:RELEASE.2023-01-02T09-40-09Z
    container_name: minio2
    restart: always
    command: server http://minio{1...4}/data --console-address ":9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: hjm029796
    volumes:
      - ./data/minio2:/data
    networks:
      - minio_net

  minio3:
    image: registry.cn-hangzhou.aliyuncs.com/snow-io/minio:RELEASE.2023-01-02T09-40-09Z
    container_name: minio3
    restart: always
    command: server http://minio{1...4}/data --console-address ":9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: hjm029796
    volumes:
      - ./data/minio3:/data
    networks:
      - minio_net

  minio4:
    image: registry.cn-hangzhou.aliyuncs.com/snow-io/minio:RELEASE.2023-01-02T09-40-09Z
    container_name: minio4
    restart: always
    command: server http://minio{1...4}/data --console-address ":9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: hjm029796
    volumes:
      - ./data/minio4:/data
    networks:
      - minio_net

  nginx:
    image: registry.cn-hangzhou.aliyuncs.com/snow-io/nginx:1.22
    container_name: nginx_minio
    restart: always
    ports:
      - "9200:9200"      # MinIO API
      - "9201:9201"      # MinIO 控制台
    volumes:
      - ./minio.conf:/etc/nginx/conf.d/minio.conf
    depends_on:
      - minio1
      - minio2
      - minio3
      - minio4
    networks:
      - minio_net

networks:
  minio_net:
    driver: bridge

3.minio.conf

js 复制代码
upstream minio_api {
    server minio1:9000;
    server minio2:9000;
    server minio3:9000;
    server minio4:9000;
}

upstream minio_console {
    server minio1:9001;
    server minio2:9001;
    server minio3:9001;
    server minio4:9001;
}

server {
    listen 9200;
    server_name _;

    # MinIO API 反向代理
    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://minio_api;
    }
}

server {
    listen 9201;
    server_name _;

    # MinIO 控制台反向代理
    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://minio_console;
    }
}

4.启动

js 复制代码
docker compose down && docker compose up -d
相关推荐
GetcharZp2 小时前
抛弃低效SSH!这套Ansible+Web可视化神器,让你天天准点下班!
后端
weixin_446260855 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask
ttwuai6 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
用户8356290780517 小时前
Python 实现 Excel 页面布局与打印设置自动化
后端·python
用户9931441579847 小时前
微服务框架中获取用户信息
后端
xuanWb7 小时前
手写一个 LLM API 网关:Anthropic 与 OpenAI 协议转换的完整实现
后端
苍何7 小时前
给 Codex 换皮肤这门生意,被我开源了
后端
用户8356290780517 小时前
Python 实现 Excel 命名范围(Named Range)的创建与管理
后端·python
程序员David7 小时前
我让 Claude 从架构文档一路干到代码,踩了三个坑才摸清边界
后端