当前位置: 代码网 > it编程>编程语言>Java > springboot整合新版minio和minio的安装完整教程(新人必看)

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

2025年12月22日 Java 我要评论
第一步:docker安装配置minio第一步:拉取镜像docker pull minio/minio第二步:创建用于存储minio数据的卷minio需要一个用于持久化存储的卷。创建一个目录,并使用do

第一步: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控制页面

上传成功。

到此这篇关于springboot整合新版minio和minio的安装完整教程(新人必看)的文章就介绍到这了,更多相关springboot minio安装内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com