Docker部署MinIO存储服务
00 分钟
2023-11-16
2023-12-26
type
status
date
slug
summary
password
tags
category
icon

Docker部署MinIO分布式文件存储服务及其教程

1、什么是MinIO?

Minio 是个基于 Golang 编写的开源对象存储套件,基于Apache License v2.0开源协议,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口。可以很简单的和其他应用结合使用,例如 NodeJS、Redis、MySQL等。

2、CentOS普通安装

首先下载MinIO
操作MinIO的端口是9000 访问MinIO控制台界面的端口是42579,这是一个动态生成的端口,建议启动时添加–console-address “:port”来指定一个固定的端口 默认的用户名和密码都是minioadmin,建议通过修改环境变量MINIO_ROOT_USER和MINIO_ROOT_PASSWORD来修改

3、通过Docker快速安装MinIO

获取镜像:

创建目录:

一个用来存放配置,一个用来存储上传文件的目录
启动前需要先创建Minio外部挂载的配置文件( /home/minio/config),和存储上传文件的目录( /home/minio/data)

创建Minio容器并运行:

查看运行情况

4、访问操作

访问地址为你的部署IP地址:9090/login
默认的用户名密码都为: minioadmin minioadmin

1)、创建用户,配置规则

2)、创建组

3)、创建accessKey和secretKey

4)、创建Bucket

5、Java中实际操作

1)、在项目中导入相关的Maven依赖

2)、添加配置

在aplication.yml配置中添加MInIO相关的配置,如下:

3)、新建上传文件接口

4)、测试上传效果

接口返回的URL就是文件的访问地址,直接输入浏览器访问即可,在MInIO中也可以看到存储的文件。

6、实际项目和自定义Springboot-Starter使用

1)、导入minio相关依赖

2)、创建yaml对应的配置类

3)、创建minio自动配置类,将MinioClient存入容器

4)、创建MinioService,封装通用方法

5)、其中自定义异常MinioException如下

6)、然后在resources下创建META-INF/spring.factories文件,指定自动配置类

7)、最后install到本地maven仓库,这样在其他springboot工程中就可以使用这个starter了

8)、使用