非常钟教你Docker安装minio,搭建自己的oss服务器

饭宝  论坛元老 | 2024-8-25 14:22:18 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1032|帖子 1032|积分 3096

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、熟悉minio

Minio 是一个基于开源协议的云存储服务,首先,Minio 的开源性质是其一大亮点。这意味着开辟者和企业可以自由获取其源代码,并根据自身的需求进行定制和改进。这种开放性不光低落了使用资本,还促进了技术的创新和社区的活跃发展。
在性能方面,Minio表现精彩。它可以或许快速处置处罚大量的数据读写哀求,无论是小型项目中的少量数据,还是大型企业中的海量数据,Minio 都能游刃有余。比如说,在一个拥有高并发访问的在线教诲平台上,Minio 可以确保门生们可以或许快速加载课程视频和资料,不会因为数据访问的耽误而影响学习体验。
Minio 的可扩展性更是令人印象深刻。当业务不断增长,数据量急剧增加时,只需简单地添加服务器节点,就可以或许轻松实现存储容量和性能的线性扩展。这就好比为不断扩张的都会修建更多的道路,以确保交通的顺畅。
别的,Minio 对多种操作系统的支持,使其具有广泛的实用性。无论您是在 Windows 环境下进行开辟,还是在 Linux 服务器上部署应用,Minio 都能完美兼容,为您提供稳固可靠的数据存储服务。

二、部署minio

检察当前docker支持的minio版本
  1. docker search minio
复制代码

这里我们选择官方的mionio
  1. docker pull minio/minio
复制代码
启动并设置干系环境
  1. docker run -p 9000:9000 -p 9090:9090 \
  2. --name minio \
  3. -d --restart=always \
  4. -e "MINIO_ACCESS_KEY=admin" \
  5. -e "MINIO_SECRET_KEY=123" \
  6. -v /mydata/minio/data:/data \
  7. minio/minio server \
  8. /data --console-address ":9090" -address ":9000"
复制代码
注:端口9000是api地址,9090是背景管理界面地址,账号暗码、映射文件地址可以更改。
启动后,访问机器ip+9090,进入minio的界面,输入用户名或暗码后可以访问。

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

 

三、整合Springboot 

1、添加依赖

  
  1. <dependency>
  2.     <groupId>io.minio</groupId>
  3.     <artifactId>minio</artifactId>
  4.     <version>8.2.0</version>
  5. </dependency>
复制代码
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

  
  1. server:
  2.   port: 4000
  3. minio:
  4.   url: http://服务器地址:9000
  5.   accessKey: admin
  6.   secretKey: 123456
复制代码
4、然后写一个util类为我们提供一些业务方法

    
  1. @Component
  2. public class MinioUtil {
  3.     @Resource
  4.     private MinioClient minioClient;
  5.     /**
  6.      * 列出所有桶
  7.      */
  8.     public List<String> getAllBucket() throws Exception {
  9.         List<Bucket> buckets = minioClient.listBuckets();
  10.         return buckets.stream().map(Bucket::name).collect(Collectors.toList());
  11.     }
复制代码
}
  5、最后我们通过一个controller接口来测试一下我们是否可以或许访问到我们刚刚所上传的图片

    
  1. @RestController
  2. public class FileController {
  3.     @Resource
  4.     private MinioUtil minioUtil;
  5.     @RequestMapping("/testGetAllBuckets")
  6.     public String testGetAllBuckets() throws Exception {
  7.         List<String> bucket = minioUtil.getAllBucket();
  8.         return bucket.get(0);
  9.     }
  10. }
复制代码
 至此,一个简单的spring boot整合minio的demo案例已经搭建完成啦,而且大家也拥有了属于自己的oss对象存储服务器


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

饭宝

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表