单机上使用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目录下的内容

相关推荐
AWS官方合作商11 小时前
AWS S3深度解析:十大核心应用场景与高可用架构设计实践
云计算·aws·数据湖·对象存储·存储·s3
Ciderw2 天前
LLVM编译器简介
c++·golang·编译·编译器·gcc·llvm·基础设施
非凡的世界1 个月前
如何使用 PHP 操作亚马逊 S3 对象云存储
开发语言·php·对象存储·亚马逊云
牛马程序员‍1 个月前
Day97 minio
java·对象存储·minio·oss
high20111 个月前
【对象存储】-- s3:\\、s3n:\\、s3a:\\ 简介
java·ide·eclipse·对象存储·amazon s3
gs801402 个月前
JuiceFS 详解:一款为云原生设计的高性能分布式文件系统
机器学习·云原生·对象存储·大数据分析·分布式文件系统·juicefs·高性能存储
神技圈子2 个月前
源码讲解MinIO 如何分布数据
大数据·golang·对象存储
云存储小天使2 个月前
数据持久性是如何炼成的——对象存储容灾技术解析
对象存储·多az存储
运维小文2 个月前
cephFS的使用以及K8S对接cephFS
ceph·云原生·容器·kubernetes·对象存储·cephfs