获取 MinIO 存储端点的快速指南
MinIO 是一个开源的对象存储服务,兼容Linux 和 Windows 安装 MinIO,以及在 Java 中使用 MinIO 的方法。通过这篇文章,您将了解如何获取 MinIO 存储端点,安装和使用 MinIO 进行文件存储和管理。
1、简介
MinIO 是一个基于 Apache License v2.0 开源协议的 对象存储服务,兼容亚马逊 S3 云存储服务接口,非常适合存储大容量的 非结构化 数据,如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。一个对象文件可以从几 KB 到最大 5T。MinIO 是一个非常轻量的服务,可以轻松与其他应用结合,如 NodeJS、Redis 或 MySQL。
2、容器安装
MinIO 可以作为容器运行,适合早期开发和评估。某些功能,如版本控制、对象锁定和存储桶复制需要分布式部署 MinIO。
2.1、Docker
docker run -p 9000:9000
--name minio1
-v /mnt/data:/data
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE"
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
minio/minio server /data
2.2、Linux
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data
2.3、Windows
下载:
http://dl.minio.org.cn/server/minio/release/windows-amd64/minio.exe
启动:
minio.exe server D:
将“D:”替换为 MinIO 存储数据的路径。启动成功示意图
3、使用说明
3.1 访问地址
访问 MinIO 的地址为 http://{ip}:{port}/minio/ 或 http://{ip}:{port}。默认的 root 凭据为 minioadmin:minioadmin。访问界面示例
3.2 创建和管理
创建 Buckets
创建存储桶用于存储和管理对象。创建界面示例
上传文件
通过浏览器直接上传文件至 MinIO。上传文件示例
访问权限
若访问受限,可通过自定义 JSON 字符串设置访问权限。
{
"Statement": [
{
"Action": "s3:GetObject",
"Effect": "Allow",
"Principal": "*",
"Resource": "arn:aws:s3:::lease/*"
}
],
"Version": "2012-10-17"
}
4、JAVA 使用 MinIO 的方法
通过 Java 代码操作 MinIO,可以创建存储桶并上传文件。
4.1 添加依赖
io.minio
minio
7.1.0```
### 4.2 参数配置
配置 MinIO 的参数:Endpoint、Access Key 和 Secret Key。
### 4.3 编写 MinIO 配置信息
```java
@Configuration
@ConfigurationProperties(prefix = "minio")
@ConditionalOnClass({MinioClient.class})
@ConditionalOnProperty({"minio.endpoint"})
public class MinioAutoConfiguration {
// 配置代码省略
}
4.4 上传文件代码
public static String uploadFile(InputStream inputStream, String objectName, String fileName) {
// 上传代码省略
}
4.5 调用上传方法
@PostMapping("/upload")
@ApiOperation("上传文件")
public String upload(@RequestPart(value = "file") MultipartFile file) throws IOException {
return MinioUtil.uploadFile(file.getInputStream(), "my-file", file.getOriginalFilename());
}
4.6 测试
成功上传文件后返回可访问的 URL。测试界面示例
附工具类
提供了 MinIO 的工具类代码,支持文件上传、下载、删除等操作。
FAQ
问:MinIO 是什么?
- 答:MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务,兼容亚马逊 S3 云存储服务接口,非常适合存储大容量的非结构化数据,如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。
问:如何在 Docker 中安装 MinIO?
-
答:可以使用以下命令在 Docker 中安装 MinIO: “`shell
docker run -p 9000:9000
–name minio1
-v /mnt/data:/data
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE"
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
minio/minio server /data
### 问:如何在 Windows 上运行 MinIO?
- 答:首先下载 MinIO 可执行文件,然后通过命令 minio.exe server D: 启动 MinIO,将 “D:” 替换为 MinIO 存储数据的路径。
### 问:如何访问 MinIO 的存储端点?
- 答:可以通过 http://{ip}:{port}/minio/ 或 http://{ip}:{port} 访问 MinIO 的存储端点,默认的 root 凭据为 minioadmin:minioadmin。
### 问:如何通过 Java 使用 MinIO 上传文件?
- 答:首先添加 MinIO 的 Maven 依赖,然后配置 MinIO 的参数(如 Endpoint、Access Key 和 Secret Key),编写上传文件的 Java 代码,并调用相应的方法来上传文件。
最新文章
- 将 GraphQL 单体迁移至 Apollo Federation
- 声音即身份:声纹识别API如何改变身份验证的未来
- 国内API KEY 密钥免费的AI平台及其使用指南
- 全面解读:REST API与OpenAPI的区别、应用及最佳实践指南
- 5款强大且高效的API漏洞扫描工具推荐
- Twitter (x) API 介绍:在线使用和集成指南
- DeepSeek+ima:打造高效个人知识库,提升学习与工作效率
- API设计模式:粒度细化 vs 粒度粗化的利弊分析
- 解读 TaskMatrix.AI
- API协议设计的10种技术
- ComfyUI API是什么:深入探索ComfyUI的API接口与应用
- 从架构设计侧剖析: MCP vs A2A 是朋友还是对手?