minio/minio
GitHub: minio/minio
一款高性能、S3 兼容的开源对象存储系统,专为 AI/ML 和数据密集型工作负载设计。
Stars: 60570 | Forks: 7323
# MinIO 快速入门指南
[](https://slack.min.io) [](https://hub.docker.com/r/minio/minio/) [](https://github.com/minio/minio/blob/master/LICENSE)
[](https://min.io)
MinIO 是一款高性能、兼容 S3 的对象存储解决方案,基于 GNU AGPL v3.0 许可证发布。
它专为速度和可扩展性而设计,以行业领先的性能为 AI/ML、分析和数据密集型工作负载提供支持。
- S3 API 兼容 —— 与现有 S3 工具无缝集成
- 为 AI 和分析构建 —— 针对大规模数据流水线进行了优化
- 高性能 —— 适用于要求苛刻的存储工作负载
本 README 提供了从源代码构建 MinIO 并将其部署到裸机硬件上的说明。
请使用 [MinIO 文档](https://github.com/minio/docs)项目来构建和托管文档的本地副本。
## MinIO 是开源软件
我们将 MinIO 设计为面向开源软件社区的开源软件。我们鼓励社区根据 AGPLv3 许可证的条款对 MinIO 进行改编、重新设计和重新分享。
在您的应用程序堆栈中使用 MinIO 的所有行为都需要对照 AGPLv3 义务进行验证,这些义务包括但不限于将修改后的代码发布给您从中受益的社区。任何对 AGPLv3 软件的商业/专有使用,包括重新打包或转售服务/功能,均由您自行承担风险。
AGPLv3 不规定任何一方有义务支持、维护或担保原始作品或任何修改后的作品。
所有支持均通过 Github 和我们的 [Slack](https://slack.min.io) 频道按“尽力而为”的原则提供,欢迎社区的任何成员做出贡献并协助他人使用该软件。
MinIO [AIStor](https://www.min.io/product/aistor) 为需要商业或专有使用以及生产级 SLA/SLO 支持支持的工作负载提供企业级支持和许可。欲了解更多信息,请[联系获取报价](https://min.io/pricing)。
## 仅源代码分发
**重要提示:** MinIO 社区版现在仅作为源代码分发。我们将不再为社区版本提供预编译的二进制版本。
### 安装最新 MinIO 社区版
要使用 MinIO 社区版,您有两个选择:
1. 使用 `go install github.com/minio/minio@latest` **从源代码安装**(推荐)
2. 使用提供的 Dockerfile **构建 Docker 镜像**
有关每种方法的详细说明,请参阅以下部分。
### 旧版二进制版本
历史上的预编译二进制版本仍可供参考,但不再维护:
- GitHub Releases: https://github.com/minio/minio/releases
- 直接下载: https://dl.min.io/server/minio/release/
**这些旧版二进制文件将不会收到更新。** 我们强烈建议使用源代码构建,以获取最新的功能、错误修复和安全更新。
## 从源代码安装
使用以下命令从源代码编译并运行独立的 MinIO 服务器。
如果您没有可用的 Golang 环境,请遵循 [如何安装 Golang](https://golang.org/doc/install)。要求的最低版本为 [go1.24](https://golang.org/dl/#stable)
```
go install github.com/minio/minio@latest
```
或者,您可以运行 `go build` 并使用 `GOOS` 和 `GOARCH` 环境变量来控制操作系统和架构目标。
例如:
```
env GOOS=linux GOARCH=arm64 go build
```
通过运行 `minio server PATH` 启动 MinIO,其中 `PATH` 是本地文件系统上的任何空文件夹。
MinIO 部署使用默认的 root 凭证 `minioadmin:minioadmin` 启动。
您可以使用 MinIO Console(内置于 MinIO Server 的基于 Web 的对象浏览器)测试部署。
将运行在主机上的 Web 浏览器指向 ,并使用 root 凭证登录。
您可以使用浏览器创建存储桶、上传对象并浏览 MinIO 服务器的内容。
您也可以使用任何兼容 S3 的工具进行连接,例如 MinIO Client `mc` 命令行工具:
```
mc alias set local http://localhost:9000 minioadmin minioadmin
mc admin info local
```
有关使用 `mc` 命令行工具的更多信息,请参阅 [使用 MinIO Client `mc` 进行测试](#test-using-minio-client-mc)。
对于应用程序开发人员,请参阅 以查看支持语言的 MinIO SDK。
## 构建 Docker 镜像
您可以使用 `docker build .` 命令在本地主机上构建 Docker 镜像。
您必须首先[构建 MinIO](#install-from-source),并确保 `minio` 二进制文件存在于项目根目录中。
以下命令使用项目根目录中的默认 `Dockerfile` 构建 Docker 镜像,仓库和镜像标签为 `myminio:minio`
```
docker build -t myminio:minio .
```
使用 `docker image ls` 确认镜像存在于您的本地仓库中。
您可以使用标准的 Docker 调用方式运行服务器:
```
docker run -p 9000:9000 -p 9001:9001 myminio:minio server /tmp/minio --console-address :9001
```
关于构建 Docker 容器、管理自定义镜像或将镜像加载到编排平台的完整文档超出了本文档的范围。
您可以根据需要修改 `Dockerfile` 和 `dockerscripts/docker-entrypoint.sh` 以反映您的特定镜像要求。
有关在容器镜像中运行 MinIO 的更多指导,请参阅 [MinIO 容器](https://docs.min.io/community/minio-object-store/operations/deployments/baremetal-deploy-minio-as-a-container.html#deploy-minio-container)文档。
## 使用 Helm Charts 安装
将 MinIO 安装到 Kubernetes 基础设施有两种途径:
- 使用 [MinIO Operator](https://github.com/minio/operator)
- 使用社区维护的 [Helm charts](https://github.com/minio/minio/tree/master/helm/minio)
有关使用 Operator 进行部署的指导,请参阅 [MinIO 文档](https://docs.min.io/community/minio-object-store/operations/deployments/kubernetes.html)。
社区 Helm chart 的说明位于文件夹级别的 README 中。
## 测试 MinIO 连接
### 使用 MinIO Console 测试
MinIO Server 附带一个嵌入式的基于 Web 的对象浏览器。
将您的 Web 浏览器指向 以确保您的服务器已成功启动。
### 使用 MinIO Client `mc` 测试
`mc` 提供了类似 ls、cat、cp、mirror、diff 等 UNIX 命令的现代替代方案。它支持文件系统和 Amazon S3 兼容的云存储服务。
以下命令设置本地别名、验证服务器信息、创建存储桶、将数据复制到该存储桶并列出存储桶的内容。
```
mc alias set local http://localhost:9000 minioadmin minioadmin
mc admin info
mc mb data
mc cp ~/Downloads/mydata data/
mc ls data/
```
请遵循 MinIO Client [快速入门指南](https://docs.min.io/community/minio-object-store/reference/minio-mc.html#quickstart)获取更多说明。
## 探索更多
- [MinIO 文档网站](https://docs.min.io/community/minio-object-store/index.html)
- [MinIO 纠删码概述](https://docs.min.io/community/minio-object-store/operations/concepts/erasure-coding.html)
- [在 MinIO Server 中使用 `mc`](https://docs.min.io/community/minio-object-store/reference/minio-mc.html)
- [在 MinIO Server 中使用 `minio-go` SDK](https://docs.min.io/enterprise/aistor-object-store/developers/sdk/go/)
## 为 MinIO 项目做贡献
请遵循 MinIO [贡献者指南](https://github.com/minio/minio/blob/master/CONTRIBUTING.md)获取有关向仓库做出新贡献的指导。
## 许可证
- MinIO 源代码根据 [GNU AGPLv3](https://github.com/minio/minio/blob/master/LICENSE) 授权。
- MinIO [文档](https://github.com/minio/minio/tree/master/docs)根据 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授权。
- [许可证合规性](https://github.com/minio/minio/blob/master/COMPLIANCE.md)
标签:AI存储, Apex, Blob存储, Docker, EVTX分析, GNU AGPLv3, Go语言, Gradle集成, MinIO, NAS, S3 API, S3兼容, 云原生存储, 代理服务器, 代码示例, 企业级存储, 低延迟, 分布式存储, 大数据, 子域名突变, 安全防御评估, 对象存储, 开源存储, 数据分析, 数据湖, 数据管道, 文件服务器, 日志审计, 机器学习, 混合云, 目录扫描, 私有云, 程序破解, 请求拦截, 软件工程, 非结构化数据, 高吞吐