MinIO——分布式文件系统
对象如图片、视频、文档等存储方式对比:
优点 缺点
服务器磁盘: 开发便捷、成本低 扩展困难
分布式文件系统: 容易实现扩容 复杂度高
第三方存储:开发简单,功能强大,免维护 收费
docker拉取镜像,创建容器
docker run -p 9000:9000 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=minio123" -v /home/data:/data -v /home/config:/root/.minio minio/minio server /data
浏览器访问
上传文件进行静态访问
目标:将list.ftl文件上传到minio中,并且可以在浏览器中访问
package com.heima.minio.test; import io.minio.MinioClient; import io.minio.PutObjectArgs; import java.io.FileInputStream; import java.io.FileNotFoundException; public class MinIOTest { /** * 把list.html文件上传到minio中,并且可以在浏览器中访问 * @param args */ public static void main(String[] args) { try { FileInputStream fileInputStream = new FileInputStream("D:\\list.html"); //1、获取minio的连接信息,创建一个minio的客户端 MinioClient minioClient = MinioClient.builder().credentials("minio", "minio123").endpoint("http://192.168.200.130: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); //访问路径 System.out.println("http://192.168.200.130:9000/leadnews/list.html"); } catch (Exception e) { e.printStackTrace(); } } }
封装MinIO为starter
文章微服务:文件服务
自媒体微服务:文件服务
评论微服务:文件服务
其它服务:文件服务
将MinIO封装为starter,就不必每次都创建该服务再进行文件存储。
分类:
黑马头条 / 自媒体端
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!