MinIO 对象存储实战指南
MinIO 对象存储指南
MinIO 是一个对象存储服务,完全兼容 Amazon S3 API(国内很少用)。用来搭建自己的私有文件服务
MinIO 简介
MinIO 是一个开源的高性能对象存储服务,专为云原生应用设计。我用它来当我的爬虫文件存储服务。
用来代替 阿里云 oss 是个不错的选择,前提是你的文件少。
oss咋样,那minio就咋用。
我仔细对比过了,服务器一块硬盘 500G一年需要3000左右。而阿里云oss 500G一年是170!
所以,如果是互联网项目完全可以使用oss。
而我又想玩玩又不想花3000去买个硬盘,于是我就 在服务器上挂载了oss服务,minio再挂载oss。既解决了硬盘贵又能玩到minio。哈哈哈
安装与部署
Docker 部署(推荐)
单节点部署
# 使用 Docker 运行
docker run -d \
--name minio \
-p 9000:9000 \
-p 9001:9001 \
-e "MINIO_ROOT_USER=XX" \
-e "MINIO_ROOT_PASSWORD=XXXXX" \
-v /mnt/oss/minio/data:/data \
-v /mnt/oss/minio/config:/root/.minio \
minio/minio:RELEASE.2025-04-22T22-12-26Z \
server /data --console-address ":9001"/mnt/oss 就是我通过 ossfs 将阿里云oss挂载到服务器成为服务器硬盘的路径
答应我一定要用 minio/minio:RELEASE.2025-04-22T22-12-26Z 这个版本!
最新版本的web界面阉割了所有功能,只保留了 bucket 的创建,其他功能需要通过 mc 命令来实现,非常的不友好
下面就是启动后的界面

客户端配置
mc
安装 mc
# Linux
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
# macOS
brew install minio/stable/mc
# 验证安装
mc --version一些基本操作
# 添加 MinIO 服务器别名
mc alias set myminio http://localhost:9000 minioadmin minioadmin
# 列出所有别名
mc alias list
# 删除别名
mc alias remove myminio
# 列出桶
mc ls myminio
# 创建桶
mc mb local/mybucket
# 删除桶
mc rb local/mybucket
# 强制删除桶及所有文件
mc rb --force local/mybucket还有很多。。。。 不如页面操作来的直接
如果想在web界面设置公共读的话可以像下面一样操作

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::自己桶的名字/*"
]
}
]
}by the way
顺便提一下,如果你使用 -v /mnt/oss/minio/data:/data 将数据挂载到磁盘上,直接进入挂载目录是看不到原始文件的。MinIO 会将文件以特殊的内部格式存储,而不是以原始文件名和结构保存。
如果你想查看或访问这些文件,可以通过以下方式:
# 方式一:使用 mc 命令列出文件
mc ls myminio/mybucket
# 方式二:实时同步到本地目录(适合需要持续访问原始文件的场景)
mc mirror --watch myminio/mybucket /data/export另外,如果你的 bucket 设置了公共读权限,就可以直接通过 URL 访问文件:
http://服务器IP:9000/bucket名/路径/文件名再给这个 IP:9000 配上反向代理绑个域名,你的私有 OSS 服务就算搭建完成啦~
总结
目前我只把minio当作文件服务来用,用来代替oss当作私有文件服务来说还是挺好用的~