当前位置: 首页 > web >正文

MinIO的安装和使用

MinIO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。主要特点如下:

  • 基于Golang语言实现,配置简单,单行命令可以运行起来
  • MilO兼容亚马逊S3云存储服务接口,适合于存储大容量非结构化的数据,一个对象文件可以是任意大小,从几kb到最大5T不等。
  • 多平台,它提供了windows、linux、macos等客户端

官网地址(英文):MinIO | S3 Compatible Storage for AI

官网地址(中文):MinIO | 用于AI的S3&Kubernetes原生对象存储

安装

docker方式安装

具体安装步骤如下:

  1. 使用~~docker search minio~~命令搜索一下minio的镜像(一般没什么意义)
  2. 使用docker pull minio/minio下载最新的镜像版本(不指定版本号,pull的就是最新版本)。
  3. docker images确认一下镜像是否下载成功。
  4. 创建外部挂载点的目录:目录可以自己指定,不一定要一样。
    1. 存放配置文件的:mkdir -p /home/minio/config
    2. 存放数据的:mkdir -p /home/minio/data
  5. 运行容器,通过配置项指定它的外部挂载点:
docker run -p 9000:9000 -p 9090:9090 \--net=host \--name minio \-d --restart=always \-e "MINIO_ACCESS_KEY=minioadmin" \-e "MINIO_SECRET_KEY=minioadmin" \-v /home/minio/data:/data \-v /home/minio/config:/root/.minio \minio/minio server \/data --console-address ":9090" -address ":9000"

:::tips
9090端口指的是minio的客户端端口

<font style="color:rgb(79, 79, 79);">MINIO_ACCESS_KEY</font> :账号

<font style="color:rgb(79, 79, 79);">MINIO_SECRET_KEY</font> :密码(账号长度必须大于等于5,密码长度必须大于等于8位)

<font style="color:rgb(79, 79, 79);">-v</font> 指定了数据挂在linux系统中的<font style="color:rgb(79, 79, 79);">/home/minio/data</font>目录下,配置信息挂在<font style="color:rgb(79, 79, 79);">/home/minio/config</font>目录下

:::

  1. 之后就可以访问地址:9000/minio/来进入管理界面了。

基本使用

基本概念

bucket(桶)-类比于文件系统的目录

Object-类比文件系统的文件

Keys-类比文件名

创建一个bucket(桶):在管理界面中,可以点击右下角的“+”,点击“Create bucket”,指定桶名称。

Java整合

导入MinIO的依赖:

<!-- minio的依赖 -->
<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><!-- 根据自己情况修改版本号 --><version>7.1.0</version>
</dependency>

java代码:

void testMinIo(){// 获取minion的链接信息,创建一个minio客户端MinioClient minioClient = MinioClient.builder().endpoint("http://192.168.1.102:9000") // 地址.credentials("minioadmin", "minioadmin") // 用户名和密码.build();// 上传文件try {// 获取文件流FileInputStream fileInputStream = new FileInputStream("D:\\test.html");// 构建文件对象PutObjectArgs objectArgs = PutObjectArgs.builder().bucket("test") // 存储桶.object("test.txt") // 文件名.contentType("text/html").stream(fileInputStream,fileInputStream.available(), -1)  // 文件流,文件大小,分片大小.build(); // 构建文件对象minioClient.putObject(objectArgs); // 上传文件System.out.println("上传成功");} catch (Exception e) {e.printStackTrace();}
}

注意
上传之后的访问路径为MinIO的部署地址:端口号/桶名称/文件名称.后缀名

如果想要通过路径访问到该文件还需要在管理端给桶设置权限(设置权限之后还需要重新上传)。

设置权限的方法:菜单栏右键桶名,添加读写权限。

http://www.xdnf.cn/news/7584.html

相关文章:

  • 设计模式之备忘录模式
  • 通过COM获取正在运行的Excel实例并关闭 c#实现
  • C++之set与map介绍
  • JavaScript 日志和调试工具箱-logger2js
  • 数据仓库是什么?常见问题解答
  • ELK简介和docker版安装
  • 硬件工程师笔记——三极管Multisim电路仿真实验汇总
  • 深入浅出:Spring Cloud Gateway 扩展点实践指南
  • Zookeeper 集群安装与脚本化管理详解
  • 【笔记】与PyCharm官方沟通解决开发环境问题
  • 测试W5500的第2步_使用ioLibrary库创建TCP客户端
  • 【razor】回环结构导致的控制信令错位:例如发送端收到 SR的问题
  • k8s 配置 Kafka SASL_SSL双重认证
  • 计算机网络基础概念
  • 新能源汽车焊接智能节气阀
  • uni-app 中使用 mumu模拟器 进行调试和运行详细教程
  • Matplotlib 高级进阶实战:多维度数据可视化组合图表
  • nbufxz动态规划1
  • 零基础设计模式——创建型模式 - 工厂方法模式
  • 【课堂笔记】核方法和Mercer定理
  • [Java实战]Spring Boot整合Sentinel:流量控制与熔断降级实战(二十九)
  • 数据集划分与格式转换:从原始数据到模型训练的关键步骤
  • 在 Excel 中使用通义灵码辅助开发 VBA 程序
  • 自学嵌入式 day21 - 数据结构 双向链表
  • 全局对比度调整
  • MCP 协议传输机制大变身:抛弃 SSE,投入 Streamable HTTP 的怀抱
  • taro 小程序 CoverImage Image src无法显示图片的问题
  • 剧本杀小程序:指尖上的沉浸式推理宇宙
  • 【Linux笔记】——线程同步信号量与环形队列生产者消费者模型的实现(PV操作)
  • shp2pgsql 导入 Shp 到 PostGIS 空间数据库