十分钟教你Docker安装minio,搭建自己的oss服务器
创始人
2024-11-08 16:35:51
0

一、认识minio

Minio 是一个基于开源协议的云存储服务,首先,Minio 的开源性质是其一大亮点。这意味着开发者和企业可以自由获取其源代码,并根据自身的需求进行定制和改进。这种开放性不仅降低了使用成本,还促进了技术的创新和社区的活跃发展。

在性能方面,Minio表现出色。它能够快速处理大量的数据读写请求,无论是小型项目中的少量数据,还是大型企业中的海量数据,Minio 都能游刃有余。比如说,在一个拥有高并发访问的在线教育平台上,Minio 可以确保学生们能够快速加载课程视频和资料,不会因为数据访问的延迟而影响学习体验。

Minio 的可扩展性更是令人印象深刻。当业务不断增长,数据量急剧增加时,只需简单地添加服务器节点,就能够轻松实现存储容量和性能的线性扩展。这就好比为不断扩张的城市修建更多的道路,以确保交通的顺畅。

此外,Minio 对多种操作系统的支持,使其具有广泛的适用性。无论您是在 Windows 环境下进行开发,还是在 Linux 服务器上部署应用,Minio 都能完美兼容,为您提供稳定可靠的数据存储服务。

二、部署minio

查看当前docker支持的minio版本

docker search minio

这里我们选择官方的mionio

docker pull minio/minio

启动并配置相关环境

docker run -p 9000:9000 -p 9090:9090 \  --name minio \  -d --restart=always \  -e "MINIO_ACCESS_KEY=admin" \  -e "MINIO_SECRET_KEY=123" \  -v /mydata/minio/data:/data \  minio/minio server \  /data --console-address ":9090" -address ":9000"

注:端口9000是api地址,9090是后台管理界面地址,账号密码、映射文件地址可以更改。

启动后,访问机器ip+9090,进入minio的界面,输入用户名或密码后可以访问。

 

进入以后,我们在图中位置新建一个bucket,然后可以往其中新存入一张图片作为测试

 

三、整合Springboot 

1、添加依赖

     io.minio     minio     8.2.0 

2、创建minioConfig配置类

@Configuration
public class MinioConfig {

    /**
     *minio url
     */
    @Value("${minio.url}")
    private String url;

    /**
     *minio账户
     */
    @Value("${minio.accessKey}")
    private String accessKey;

    /**
     * minio密码
     */
    @Value("${minio.secretKey}")
    private String secretKey;

    /**
     * 构建 minioClient
     * @return
     */
    @Bean
    public MinioClient getMinioClient(){
        return MinioClient.builder().endpoint(url).credentials(accessKey,secretKey).build();
    }

3、配置application.yml

server:   port: 4000  minio:   url: http://服务器地址:9000   accessKey: admin   secretKey: 123456

4、然后写一个util类为我们提供一些业务方法

 

@Component public class MinioUtil {      @Resource     private MinioClient minioClient;      /**      * 列出所有桶      */     public List getAllBucket() throws Exception {         List buckets = minioClient.listBuckets();         return buckets.stream().map(Bucket::name).collect(Collectors.toList());     }

}

5、最后我们通过一个controller接口来测试一下我们是否能够访问到我们刚刚所上传的图片

 

@RestController public class FileController {     @Resource     private MinioUtil minioUtil;     @RequestMapping("/testGetAllBuckets")     public String testGetAllBuckets() throws Exception {         List bucket = minioUtil.getAllBucket();         return bucket.get(0);     } }

 至此,一个简单的spring boot整合minio的demo案例已经搭建完成啦,而且大家也拥有了属于自己的oss对象存储服务器

相关内容

热门资讯

透视肯定!pokermaste... 透视肯定!pokermaster脚本(透视)其实有挂,靠谱教程(有挂德州)-哔哩哔哩1、许多玩家不知...
一分钟解谜!hhpoker买挂... 您好,hhpoker买挂这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
透视辅助!wepoker有没有... 透视辅助!wepoker有没有挂(透视)真是真的是有挂,2025新版教程(有挂最新版)-哔哩哔哩1、...
第2分钟揭露!德州hhpoke... 第2分钟揭露!德州hhpoker脚本(透视)其实是真的挂,存在挂教程(证实有挂)-哔哩哔哩1、全新机...
透视免费!hhpoker底牌透... 透视免费!hhpoker底牌透视脚本(透视)总是是有挂,玩家教你(有挂俱乐部)-哔哩哔哩透视免费!h...
第二分钟必备!aa poker... 第二分钟必备!aa poker辅助(透视)确实存在有挂,力荐教程(有挂透视)-哔哩哔哩1、aa po...
透视讲解!哈糖大菠萝有挂吗5个... 透视讲解!哈糖大菠萝有挂吗5个常用方法(透视)竟然真的有挂,安装教程(有挂靠谱)-哔哩哔哩1、下载好...
十分钟透视!约局吧是否有挂(透... 十分钟透视!约局吧是否有挂(透视)总是是真的挂,安装教程(有挂工具)-哔哩哔哩亲,关键说明,约局吧是...
透视能赢!竞技联盟辅助(透视)... 您好,竞技联盟辅助这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩家在...
8分钟解谜!哈糖大菠萝挂法(透... 您好,哈糖大菠萝挂法这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩家...