news 2026/3/12 14:36:36

springboot整合最新版minio和minio的安装(完整教程,新人必看)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
springboot整合最新版minio和minio的安装(完整教程,新人必看)

概述:这种东西,多写点,方便以后自己使用

目录

第一步:docker安装配置minio

第一步:拉取镜像

第二步:创建用于存储MinIO数据的卷

如果是最新版minio直接就使用最后的那个命令创建容器

第三步:运行MinIO Docker容器

注意

所以:真正的代码如下

第五步:访问minioWeb

第六步:登录

注意:倘若使用低版本去调用高版本的minio,可能还是要设置MINIO_ACCESS_KEY和MINIO_SECRET_KEY的

创建一个buckets

第二步:springboot整合minio

第三步:编写前端进行测试


第一步:docker安装配置minio

第一步:拉取镜像

docker pull minio/minio

第二步:创建用于存储MinIO数据的卷

MinIO需要一个用于持久化存储的卷。创建一个目录,并使用docker volume create命令创建一个Docker卷:

mkdir ~/minio-storage # 在用户主目录下创建一个用于存储的目录 docker volume create minio-data # 创建一个名为minio-data的Docker卷

如果是最新版minio直接就使用最后的那个命令创建容器

下面是老版的操作

第三步:运行MinIO Docker容器

docker run -p 9000:9000 --name minio -e "MINIO_ACCESS_KEY=your-access-key" -e "MINIO_SECRET_KEY=your-secret-key" -v minio-data:/data minio/minio server /data

替换your-access-keyyour-secret-key为您选择的自定义访问密钥和秘密密钥。

注意: Access key length should be at least 3, and secret key length at least 8 characters

就是your-access-key必须大于3,your-secret-key必须大于8

比如说,我要自定义 your-access-key为123456 和 your-secret-key为123456789

docker run -p 9000:9000 --name minio -e "MINIO_ACCESS_KEY=123456" -e "MINIO_SECRET_KEY=123456789" -v minio-data:/data minio/minio server /data

这样是可以运行的,但MINIO_ACCESS_KEY和MINIO_SECRET_KEY已经被弃用,建议使用MINIO_ROOT_USER和MINIO_ROOT_PASSWORD。同时,控制台端点正在监听一个动态端口(40753),建议使用–console-address ":PORT"来选择一个静态端口。

注意

新版mino是这样的。

API: http://172.17.0.3:9000 http://127.0.0.1:9000 api是9000端口 Console: http://172.17.0.3:40753 http://127.0.0.1:40753 console是40753端口 Documentation: https://docs.min.io

所以:真正的代码如下

比如说,我要自定义 MINIO_ROOT_USER为root 和 MINIO_ROOT_PASSWORD为123456789

docker run -p 9000:9000 -p 40753:40753 --name minio ? -e "MINIO_ROOT_USER=root" ? -e "MINIO_ROOT_PASSWORD=123456789" ? -v minio-data:/data ? minio/minio server /data --console-address ":40753"

第五步:访问minioWeb

通过浏览器访问http://localhost:40753

可以看到非常的帅气

第六步:登录

输入之前设置好的 root 和 123456789

这里就成功的部署完毕了。

注意:倘若使用低版本去调用高版本的minio,可能还是要设置MINIO_ACCESS_KEY和MINIO_SECRET_KEY的

完美命令如下:

这里为了方便,我设置一样的,都是root和123456789MINIO_ACCESS_KEY是root,MINIO_SECRET_KEY也是123456789

docker run -p 9000:9000 -p 40753:40753 --name minio -e "MINIO_ROOT_USER=root" -e "MINIO_ROOT_PASSWORD=123456789" -e "MINIO_ACCESS_KEY=root" -e "MINIO_SECRET_KEY=123456789" -v minio-data:/data minio/minio server /data --console-address ":40753"

创建一个buckets

比如说这里我就创建了一个叫user01的bucket

第二步:springboot整合minio

首先,在pom.xml文件中添加MinIO的依赖:

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

application.properties文件中配置MinIO的相关参数:

minio.endpoint=http://localhost:9000 minio.access-key=YOUR_ACCESS_KEY minio.secret-key=YOUR_SECRET_KEY minio.bucket-name=your-bucket-name

由于我上面创建minio的时候已经设置好了,bucket-name=user01

server.port=8080 minio.endpoint=http://localhost:9000 minio.access-key=root minio.secret-key=123456789 minio.bucket-name=user01

创建一个MinioConfig类,用于加载MinIO的配置信息:

package org.cyl.spaceutils.config; import io.minio.MinioClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MinioConfig { @Value("${minio.endpoint}") private String minioEndpoint; @Value("${minio.access-key}") private String minioAccessKey; @Value("${minio.secret-key}") private String minioSecretKey; @Bean public MinioClient minioClient() { return MinioClient.builder() .endpoint(minioEndpoint) .credentials(minioAccessKey, minioSecretKey) .build(); } }

在编写一个controller类即可

package org.cyl.spaceutils.controller; import io.minio.MinioClient; import io.minio.errors.MinioException; import io.minio.PutObjectArgs; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.io.InputStream; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; @SpringBootApplication @RestController public class MinioDemoController { @Autowired private MinioClient minioClient; @Value("${minio.bucket-name}") private String bucketName; @PostMapping("/upload") public String uploadFile(@RequestParam("file") MultipartFile file) { try { InputStream inputStream = file.getInputStream(); minioClient.putObject( PutObjectArgs.builder() .bucket(bucketName) .object(file.getOriginalFilename()) .stream(inputStream, inputStream.available(), -1) .contentType(file.getContentType()) .build() ); return "File uploaded successfully!"; } catch (MinioException | IOException | NoSuchAlgorithmException | InvalidKeyException e) { e.printStackTrace(); return "Error uploading file to MinIO: " + e.getMessage(); } } }

现在,你可以运行这个Spring Boot应用,并通过/upload接口上传文件到MinIO。

修改一下tomcat上传文件的大小配置

# 设置单个文件大小 spring.servlet.multipart.max-file-size= 50MB # 设置单次请求文件的总大小 spring.servlet.multipart.max-request-size= 50MB

第三步:编写前端进行测试

前端代码

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>文件上传</title> </head> <body> <h1>文件上传</h1> <form action="/upload" method="post" enctype="multipart/form-data"> <input type="file" name="file" required> <button type="submit">上传</button> </form> </body> </html>

上传成功,查看minio控制页面

上传成功。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/11 6:49:51

springboot整合mybatis-plus(保姆教学) 及搭建项目

一、Spring整合MyBatis (1)将MyBatis的DataSource交给Spring IoC容器创建并管理&#xff0c;使用第三方数据库连接池(Druid&#xff0c;C3P0等)代替MyBatis内置的数据库连接池 (2)将MyBatis的SqlSessionFactory交给Spring IoC容器创建并管理&#xff0c;使用spring-mybatis整…

作者头像 李华
网站建设 2026/3/9 22:21:09

DLSS Swapper终极教程:3分钟学会游戏画质升级技巧

DLSS Swapper终极教程&#xff1a;3分钟学会游戏画质升级技巧 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 还在为游戏画面模糊、帧率不稳而烦恼吗&#xff1f;DLSS Swapper让你无需更换硬件就能获得显著的画质提升&…

作者头像 李华
网站建设 2026/3/11 3:18:52

GHelper性能优化终极指南:3步解锁华硕笔记本隐藏性能

GHelper性能优化终极指南&#xff1a;3步解锁华硕笔记本隐藏性能 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址…

作者头像 李华
网站建设 2026/3/11 13:30:19

PDF-Extract-Kit公式识别教程:图片转LaTeX代码详解

PDF-Extract-Kit公式识别教程&#xff1a;图片转LaTeX代码详解 1. 引言 在学术研究、论文撰写和技术文档编写中&#xff0c;数学公式的数字化处理是一项高频且繁琐的任务。传统方式依赖手动输入 LaTeX 公式&#xff0c;效率低且容易出错。PDF-Extract-Kit 是一个由“科哥”二…

作者头像 李华
网站建设 2026/3/10 17:58:18

DLSS版本管理神器:DLSS Swapper全面实战指南

DLSS版本管理神器&#xff1a;DLSS Swapper全面实战指南 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 在当今游戏技术快速迭代的时代&#xff0c;DLSS版本兼容性问题成为许多玩家的困扰。DLSS Swapper作为专业的DLSS…

作者头像 李华