Java MinIO对象存储服务器简单安装和使用

目录​​​​​​​

1.前言

2.坑

3.安装步骤和解析

3.11 下载Docker

3.2 通过Docker下载MinIO镜像、开启MinIO容器

4.MinIO微服务文件操作

4.1 通过MinIO网页简单操作

4.2 通过MinIO SDK 集成到 IDEA Java Maven项目通过接口操作

4.3  MinIO终端命令操作


1.前言

Java使用MinIO,官方文档已经很明了了,这里主要说明一下初次使用过程中遇到的一些问题:

MinIO英文文档:https://docs.min.io/docs/minio-docker-quickstart-guide.html

MinIO中文文档:http://docs.minio.org.cn/docs/

2.坑

最初按照MinIO步骤,通过docker安装的MinIO,由于不指定版本,默认安装最新版本,结果运行到最后报错:

javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,3]
Message: 文档中根元素前面的标记必须格式正确。
	at io.minio.Xml.unmarshal(Xml.java:55)
	at io.minio.S3Base.getRegion(S3Base.java:698)
	at io.minio.S3Base.execute(S3Base.java:470)
	at io.minio.S3Base.executeHead(S3Base.java:728)
	at io.minio.MinioClient.bucketExists(MinioClient.java:1135)
	at org.example.minio.FileUploader.main(FileUploader.java:53)

通过研究发现问题:

MinIO中文文档步骤安装:本地MinIO本地镜像是最新的镜像,但是JAVA Client项目引用的却是7.0.2,会报如上错误。

MinIO英文文档步骤安装:本地MinIO本地镜像是最新的镜像,JAVA Client项目引用的是8.3.0,版本一致,不会报错。

3.安装步骤和解析

文档中如何通过docker安装MinIO镜像,如何开启容器,如何通过IDEA的Java Maven项目调用MinIO写的都比较详细,这里就不累赘了。下面主要解析一下大体上内容:

3.11 下载Docker

地址:https://www.runoob.com/docker/docker-architecture.html

解释:Docker可以安装各种软件,下载软件的镜像,运行时候开启一个容器,这个软件就在这个容器中运行,不会污染别的程序,Docker可以很方便管理这些容器,比如开启,停止,删除容器,若是以一般采用Docker来管理MinIO微服务。

3.2 通过Docker下载MinIO镜像、开启MinIO容器

开启容器命令如下,我做了详细的解释:

docker run \
  -p 9000:9000 \
  -p 9001:9001 \
  --name minio-example \
  -e "MINIO_ROOT_USER=minio" \
  -e "MINIO_ROOT_PASSWORD=12345678" \
  -v /Users/zst/Documents/Docker/minio/data:/data \
  minio/minio server /data --console-address ":9001"

----------

-p 第一个是api接口
-p 第一个是网络接口
--name 开启的docker容器名称
-e 登录名
-e 登录密码
-v 服务器上传的文件存储路径
minio/minio server /data 指定:docker镜像、服务、数据
--console-address ":9001”  指定:静态接口,这样网页才能访问

对每一行都做了解释,这里是开启了单点模式容器。运行完毕之后,MinIO微服务就算完美的在本地启动了,后面就可以通过各种路径对服务器文件进行操作了。

4.MinIO微服务文件操作

4.1 通过MinIO网页简单操作

就可以通过网页来直接访问微服务,可以看到里面上传的各种文件,这一点比较好,其它微服务都不提供网页客户端。网页只能对文件进行简单的操作。

网页访问的是:http://localhost:9001

4.2 通过MinIO SDK 集成到 IDEA Java Maven项目通过接口操作

具体步骤在这里,不做详细介绍了

这里只是要说一下坑,一定要版本对应,否则会报上面的错,通过MinIO SDK可以通过Java项目方便的对微服务的文件进行上传、删除等操作。

Java对MinIO访问接口是:http://localhost:9000,切记和网页有区别的。

4.3  MinIO终端命令操作

可以通过MinIO提供的命令行客户端对文件进行操作,虽然上面网页可以访问,但是操作比较单一,可以通过命令行工具对文件批量操作:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Beluga_白鲸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值