单机上使用docker搭建minio集群

news/2025/2/24 16:36:54

单机上使用docker搭建minio集群

  • 1.集群安装
    • 1.1前提条件
    • 1.2步骤指南
      • 1.2.1安装 Docker 和 Docker Compose(如果尚未安装)
      • 1.2.2编写docker-compose文件
      • 1.2.3启动
      • 1.2.4访问
  • 2.使用
    • 2.1 mc客户端安装
    • 2.2创建一个连接
    • 2.3简单使用下

这里在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的端口。

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

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启动

在当前目录下执行

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创建一个连接

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

2.3简单使用下

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

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

会看到minio的data目录下的内容
在这里插入图片描述


http://www.niftyadmin.cn/n/5864584.html

相关文章

UE5销毁Actor,移动Actor,简单的空气墙的制作

1.销毁Actor 1.Actor中存在Destory()函数和Destoryed()函数 Destory()函数是成员函数,它会立即标记 Actor 为销毁状态,并且会从场景中移除该 Actor。它会触发生命周期中的销毁过程,调用 Destroy() 后,Actor 立即进入销毁过程。具体…

2025:人工智能重构人类文明的新纪元

——从生活、就业到国家战略的深度解析 **一、生活:从“工具”到“伙伴”,AI的隐形渗透** 人工智能已从实验室走入日常,成为“水电般的基础设施”。在医疗领域,AI通过数字孪生技术模拟治疗方案,辅助医生决策&…

Docker入门及基本概念

让我们从最基础的概念开始逐步理解。假设你已经准备好了docker 环境。 第一步,让我们先通过实际操作来看看当前系统中的镜像(images)和容器(containers)状态: docker images # 查看所有镜像 docker ps -a # 查看所有容器(包括未运行…

ThinkPHP:配置Redis并使用

文章目录 一、环境说明二、php.ini中配置Redis扩展1、下载php_redis.dll文件2、安装Redis扩展3、修改php.ini4、重启wamp服务 三、thinkphp6项目中修改配置及使用 一、环境说明 我的是64位Windows10环境,安装了wamp环境集成工具,方便学习使用。 php版本…

java 单例模式(Lazy Initialization)实现遍历文件夹下所有excel文件且返回其运行时间

单例模式Singleton介绍 定义 在java核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例 实现思路 将该类的构造方法定义为私有方法,这样其他处的代码就无法通过调用该…

在 Ubuntu 22 上使用 Gunicorn 启动 Flask 应用程序

目录 背景步骤 1: 安装 Flask 和 Gunicorn步骤 2: 创建 Flask 应用程序步骤 3: 使用 Gunicorn 启动 Flask 应用步骤 4: 访问应用程序步骤 5: 配置 Gunicorn 为系统服务(可选)总结 背景 Flask 是一个轻量级的 Python Web 框架,广泛应用于开发…

微信小程序-二维码绘制

wxml <view bindlongtap"saveQrcode"><!-- 二维码 --><view style"position: absolute;background-color: #FFFAEC;width: 100%;height: 100vh;"><canvas canvas-id"myQrcode" style"width: 200px; height: 200px;ba…

CentOS 7.9 解决 python3 报错 ModuleNotFoundError: No module named ‘_ssl‘ 的问题

方法&#xff1a;直接将系统的 openssl 升级到高版本 OpenSSL 1.1.1 具体步骤&#xff1a; 1. 手动编译 OpenSSL 1.1.1 bash # 安装编译依赖 sudo yum install -y perl-core zlib-static# 下载并编译 OpenSSL wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz tar…