把MinIO装到Windows上这件事,我一开始觉得特别简单:下载一个exe,跑一条命令,完事。直到真正动手才发现,它跟平时用的Windows软件完全是两个世界的产物——没有安装向导,不会帮你创建快捷方式,数据文件往哪存、控制台端口是多少、账号密码是什么,全都要自己操心。更麻烦的是,一旦配置出问题,报错信息又少又绕,网上搜出来的答案还经常对不上版本。
所以这篇东西我不打算写得像官方文档的翻译稿,而是把我自己在Windows上装MinIO的完整过程、参数设置、踩坑记录全部摊开来讲。文章覆盖从下载、启动、账号配置、建桶传文件,到前端直传、视频播放、开机自启这些后续一定会碰到的场景。只要你的机器是64位Windows,照着做就能跑起来,后续接Spring Boot、若依这类项目的时候也能少走弯路。
1. 装MinIO之前,先把这些事想清楚
1.1 你开发机上真的需要对象存储吗
MinIO是一个开源的对象存储服务,兼容亚马逊S3协议。说人话就是:它是一个自带权限控制、可以通过HTTP接口上传下载文件的服务端程序,文件按“桶”和“对象”两层结构存放。桶类似网盘里的顶层文件夹,对象就是具体的文件。
那Windows开发机上装这东西有什么用?我碰到最多的场景是这几种:
- 本地跑一个和线上一致的存储环境,前后端联调时文件都走对象存储,避免“我本地明明能传,上了生产就挂”的尴尬。
- 配合Spring Boot、若依这类Java项目做附件存储。很多项目框架默认支持S3协议,把endpoint指到本地MinIO就能调试上传下载逻辑。
- 前端直传文件到对象存储,后端只负责签发凭证,不上传具体文件,这样可以减轻应用服务器的带宽压力。
- 用MinIO当临时图床或视频测试源,特别是要验证大文件分片上传、断点续传、视频拖拽播放这些功能时,本地有一个干净的S3环境会非常方便。
一句话总结:它不是给生产环境用的必需品,但却是本地开发调试对象存储功能的趁手工具。
1.2 原生exe还是Docker:两条路线怎么选
在Windows上装MinIO,主流是两条路线:一条是下载官方编译好的exe,另一条是通过Docker Desktop跑容器。两条我都试过,先说结论。
| 对比项 | 原生exe方式 | Docker方式 |
|---|---|---|
| 安装复杂度 | 低,下载即用 | 中,需要先装Docker Desktop |
| 资源占用 | 小,一个进程而已 | 相对大,Docker Desktop本身吃内存 |
| 后台自启 | 麻烦,要么注册服务要么计划任务 | 方便,Docker自启容器即可 |
| 与Linux生产环境一致性 | 较低,Windows路径和权限体系不同 | 高,容器内逻辑与Linux一致 |
| 文件IO性能 | 本地磁盘直读直写,通常更快 | 取决于Docker的磁盘挂载方式 |
| 排错门槛 | 直接看控制台日志,直观 | 要会看docker logs,略麻烦 |
我的建议很简单:只为了本地开发和接口调试,选原生exe,轻量直接;如果公司线上就是K8s+Docker的架构,你希望本地环境尽量贴近生产,那就直接用Docker跑,省得以后因为环境差异闹出幺蛾子。
1.3 动手前先确认三件事
第一件事是确认你的系统是64位Windows。MinIO官方对Windows只提供64位版本,32位系统基本不用想了。操作系统版本不要太老,Windows 10以上的机器跑起来都没问题。
第二件事是规划好两个端口。MinIO默认有两个端口:9000是API端口,专门给程序通过S3协议读写文件用的;9001是Web控制台端口,浏览器登录管理界面用的。新版MinIO有个很坑的默认行为——如果你不在启动命令里显式指定控制台端口,它会随机分配一个,每次启动还可能变。所以我强烈建议从一开始就固定用9000和9001,后面所有配置都按这个来。
第三件事是选对下载来源。MinIO官方下载地址是dl.min.io,只有从这里下载的exe才是官方社区版。我之前遇到过有人在第三方软件站下了一个变种包,结果启动后控制台频繁报“no license is installed”这类的错误,最后换回官方包才消停。凡是涉及存储服务的软件,下载来源一定要死磕官方。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
