单机上使用docker搭建minio集群

单机上使用docker搭建minio集群

这里在ubuntu上单机安装一个minio集群,可以作为比如GIT-LFS的存储,用于存放大模型权重文件等。

1.集群安装

1.1前提条件

复制代码
确保你的服务器已安装Docker。
准备足够的磁盘空间来存储数据,并为每个MinIO实例分配独立的存储路径。

1.2步骤指南

1.2.1安装 Docker 和 Docker Compose(如果尚未安装)

如果你还没有安装Docker和Docker Compose,请先进行安装。

1.2.2编写docker-compose文件

创建一个minio目录,在目录下创建docker-compose.yml,将如下内容拷贝到文件中:

整了三个服务,启动后分别是minio1、minio2、minio3,3个容器,将API端口和WEB控制台端口分别映射到宿主机,其中9090是WEB CONSOLE端口,可以使用浏览器访问,9000是API端口,用于业务操作流。

将/data目录分别映射到宿主机。

启动的command命令,将各个实例组合成一个minio集群,其中的http://minio1/data,minio1是容器的名称,data是容器里面的存储路径,而非映射出来的路径。

--console-address 是console的端口。

其中映射到宿主的端口、路径可以根据实际情况修改。控制台的用户密码可以根据实际情况修改。

bash 复制代码
version: '3'

services:
  minio1:
    image: minio/minio:latest
    container_name: minio1
    ports:
      - "9001:9000"
      - "9091:9090" # Console port
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minioadmin
    volumes:
      - /home/wengad/data/dockerdata/minio1:/data
    command: server http://minio1/data http://minio2/data http://minio3/data --console-address ":9090"
    networks:
      - minio-network

  minio2:
    image: minio/minio:latest
    container_name: minio2
    ports:
      - "9002:9000"
      - "9092:9090"
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minioadmin
    volumes:
      - /home/wengad/data/dockerdata/minio2:/data
    command: server http://minio1/data http://minio2/data http://minio3/data --console-address ":9090"
    networks:
      - minio-network

  minio3:
    image: minio/minio:latest
    container_name: minio3
    ports:
      - "9003:9000"
      - "9093:9090"
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minioadmin
    volumes:
      - /home/wengad/data/dockerdata/minio3:/data
    command: server http://minio1/data http://minio2/data http://minio3/data  --console-address ":9090"
    networks:
      - minio-network

networks:
  minio-network:
    driver: bridge

1.2.3启动

在当前目录下执行

bash 复制代码
docker-compose up -d

1.2.4访问

如果启动没问题,就可以通过浏览器访问console界面,三个服务都可以访问。

http://127.0.0.1:9091/

http://127.0.0.1:9092/

http://127.0.0.1:9093/

2.使用

2.1 mc客户端安装

访问https://dl.minio.org.cn/client/mc/release/linux-amd64

下载一个deb包

sudo pdkg -i xx.deb

安装成功后,执行mcli,会输出类似如下。

2.2创建一个连接

bash 复制代码
# mcluster是连接名,可以根据实际修改,URL
mcli alias set mcluster/ http://127.0.0.1:9001 minioadmin  minioadmin

2.3简单使用下

更多的mcli的命令可以参考如下:minio官方资料

bash 复制代码
# 执行个上传大模型,本机上传,速度还比较快,估计跟本机用SSD盘也有关系,3-4秒上传完毕
mcli cp model-00001-of-00008.safetensors mcluster/weng 

会看到minio的data目录下的内容

相关推荐
杉岩数据1 天前
制造工厂海量生产数据统一存储管理方案与实践
对象存储·分布式存储·检测图片·工厂存储·生产数据
MicrosoftReactor2 天前
技术速递|从 AI 基础设施到基于 kars 的安全 AI Agent 基础设施
ai·agent·基础设施·kars
分布式存储与RustFS9 天前
RustFS 多协议接入全景:S3 之外,Swift/Keystone 与 SFTP/FTPS 怎么选
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
分布式存储与RustFS9 天前
在 Kubernetes 上用 RustFS Operator 给 Tenant 开 KMS 加密:spec.encryption 实战
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
分布式存储与RustFS10 天前
RustFS 1.0 GA 前的生产验收清单:从 rc.1 到 GA 该准备什么
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
分布式存储与RustFS11 天前
RustFS 1.0.0-rc.5 发布:GA 前的最后一次大版本打磨
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
分布式存储与RustFS12 天前
把 RustFS 当 ClickHouse 的 S3 存储盘:冷热分层落对象存储
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
SomeBottle13 天前
【小记】图片托管从又拍云迁移到腾讯云 EO + COS(兼容图片处理参数)
python·计算机网络·学习笔记·对象存储·cdn·折腾
2601_9622946115 天前
AI 基础设施的“去 Python 化“:Rust 与 C# 的两条替代路径
ai·rust·c·基础设施·去python化
分布式存储与RustFS16 天前
用 RustFS 原生 CLI `rc` 管对象存储:从 alias 到 cp 的完整玩法
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准