MinIo

MinlO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案
文档。

  • Golang语言实现,配置简单,单行命令可以运行起来。
  • MilO兼容亚马逊S3云存储服务接口,适合于存储大容量非结构化的数据,一个对象文件可以是任意大小,从几kb
    到最大5T不等。
  • 官网文档:MinIO

image-20230906210014843



创建与使用

  • 拉取
docker pull minio/minio

  • 创建容器
docker run -p 9000:9000 -p 9001:9001 --name minio -d --restart=always \
-e "MINIO_ROOT_USER=minio" -e "MINIO_ROOT_PASSWORD=minio123" \
-v /home/data:/data -v /home/config:/root/.minio minio/minio server /data --console-address ":9001"

  • 访问 192.168.238.3:9001


依赖

<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>7.1.0</version>
</dependency>


使用

  • 上传
try {
FileInputStream fileInputStream = new FileInputStream("D:/1.JavaRoute/a.Item/list.html");

//1.创建minio链接客户端
MinioClient minioClient = MinioClient.builder().credentials("minio", "minio123").endpoint("http://192.168.238.3:9000").build();
//2.上传
PutObjectArgs putObjectArgs = PutObjectArgs.builder()
.object("list.html")//文件名
.contentType("text/html")//文件类型
.bucket("leadnews")//桶名词 与minio创建的名词一致
.stream(fileInputStream, fileInputStream.available(), -1) //文件流
.build();
minioClient.putObject(putObjectArgs);

} catch (Exception e) {
e.printStackTrace();
}

192.168.238.3:9000/leadnews/list.html