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
相关推荐
大鸡腿同学5 小时前
【成长类】《只有偏执狂才能生存》读书笔记:程序员的偏执型成长地图
后端
0xDevNull5 小时前
MySQL数据冷热分离详解
后端·mysql
AI袋鼠帝5 小时前
OpenClaw(龙虾)最强开源对手!Github 40K Star了,又一个爆火的Agent..
后端
新知图书7 小时前
搭建Spring Boot开发环境
java·spring boot·后端
宸津-代码粉碎机7 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python
小码哥_常8 小时前
一个Starter搞定六种防护,Spring Boot API的超强护盾来了
后端
小村儿9 小时前
连载04-最重要的Skill---一起吃透 Claude Code,告别 AI coding 迷茫
前端·后端·ai编程
IT_陈寒10 小时前
Vite的alias配置把我整不会了,原来是这个坑
前端·人工智能·后端
gelald10 小时前
Spring Boot - 自动配置原理
java·spring boot·后端
希望永不加班11 小时前
SpringBoot 集成测试:@SpringBootTest 与 MockMvc
java·spring boot·后端·log4j·集成测试