背景:若依框架和MinIO实现上传
一、概述
Minio是一款开源的对象存储服务器,它可以运行在多种操作系统上,包括Linux、Windows和MacOS等。它提供了一种简单、可扩展、高可用的对象存储解决方案,支持多种数据格式,包括对象、块和文件等。
以下是Minio的主要特点:
- 简单易用:Minio安装配置简便,提供Web UI管理存储桶和对象。
- 可扩展性:支持多节点扩展,提供多种部署模式。
- 高可用性:确保数据可靠性和可用性,通过冗余备份、复制及故障转移等机制。
- 安全性:保护数据安全,采用SSL/TLS加密、访问控制及数据加密等措施。
- 多语言支持:兼容Java、Python等多种编程语言。
- 社区支持:作为开源项目,拥有活跃的社区和贡献者基础。
- 对象存储:核心功能为对象存储,支持上传下载任意大小的对象,提供多种API和SDK。
- 块存储:支持块存储,适用于处理大型文件如图像或视频。
- 文件存储:支持文件存储,适合处理小型文件,提供简单快速的上传下载方式。
总之,Minio是一款强大、灵活、可扩展的对象存储服务器,适用于各种应用场景,包括云存储、大数据存储和物联网等
二、 安装minio
2.1创建minio文件夹,并进入
mkdir minio
[root@syf mydocker]# mkdir minio
[root@syf mydocker]# cd minio/
[root@syf minio]# ls
2.2 拉取镜像
data 上传文件目录
config 配置文件目录
[root@syf /]# mkdir -p /mydocker/minio/data
[root@syf /]# mkdir -p /mydocker/minio/config
查看拉去的镜像,最新大概400M
[root@syf minio]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
minio/minio latest e31e0721a96b 3 years ago 406MB
2.3启动Minio容器(账号、密码自行设置)
docker run -d \
--name myMinio \
-p 9091:9091\
-p 9092:9092 \
-v /mydocker/minio/data:/data \
-v /mydocker/minio/config:/root/.minio \
-d --restart=always \
-e MINIO_ROOT_USER=syf\
-e MINIO_ROOT_PASSWORD=syf133618\
minio/minio server /data --console-address ":9092" -address ":9091"
上面命令解释:
- -p 9000:9000\ 服务器端口
-p 9092:9092 \ 控制台端口- -v /mydocker/minio/data:/data 挂载数据目录
- -v /mydocker/minio/config:/root/.minio 挂载配置目录
- -d --restart=always 开机启动
- -e MINIO_ROOT_USER=syf 配置登陆用户名
- -e MINIO_ROOT_PASSWORD=123456 配置登陆密码
- –console-address “:9092” 服务端口为9092
dcoker ps 查看容器状态:
[root@syf /]# docker run -d \
> --name myMinio \
> -p 9091:9091 \
> -p 9092:9092 \
> -v /mydocker/minio/data:/data \
> -v /mydocker/minio/config:/root/.minio \
> -e MINIO_ROOT_USER=syf\
> -e MINIO_ROOT_PASSWORD=syf133618\
> minio/minio server /data --console-address ":9092"
bcb6a06058d3454a5a9b91e22c53ab457d29698679275b0f005e5c9f5ce75f2e
[root@syf /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bcb6a06058d3 minio/minio "/usr/bin/docker-ent…" 10 seconds ago Up 9 seconds 9000/tcp, 0.0.0.0:9091-9092->9091-9092/tcp, :::9091-9092->9091-9092/tcp
启动成功,访问页面: localhost:9092
账户密码为上面设置的
注意:上面我们使用9092作为控制台的端口,那么9091就是上传文件的api端口。不要配置错了
否则报错如下:
上传文件失败,请检查配置信息:[S3 API Request made to Console port. S3 Requests should be sent to API port. (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 0; S3 Extended R
三、若依配置
3.1 写上,上面运行时候的用户名秘钥
3.2 测试上传文件
注意:若依会自动创建桶,如果报错请留言我。瑞思拜。。。。。
博主精心整理专栏,请移步主页,CV大法即可用,感谢您小手点一点 手动跪拜:
1- SpringBoot框架常用配置(若依),代码解读:
2- java常用工具类整理,示例演示:
3- CompletableFuture 异步编排与实际代码展示
4- XXL-JOB 详细学习,手把手带入门