小工具知识网

当前位置: 首页 > 行业知识 > springboot整合最新版minio和minio的安装(完整教程,新人必看)

行业知识

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

2026-11-03 17:33:09 来源:互联网转载

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

目录

第一步: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-key和your-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和123456789  MINIO_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的依赖:

    io.minio    minio    8.3.6

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

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

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

server.port=8080minio.endpoint=http://localhost:9000minio.access-key=rootminio.secret-key=123456789minio.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;@Configurationpublic 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@RestControllerpublic 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

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

前端代码

            文件上传    

文件上传

上传

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

上传成功。

上一篇:erp是怎么连接服务器的?

下一篇:手游源码深度解析,入门指南助你轻松掌握开发技巧!