外观
MinIO安装与使用
MinIO
介绍
MinIO 是一个高性能的、与 S3 兼容的对象存储服务器。你可以把它想象成一个可以在你自己的服务器、虚拟机或 Kubernetes 集群中运行的私有版 AWS S3。
- 作用:它的核心作用是存储数据。它提供了一个高可用、可扩展的平台,用于存放海量的非结构化数据,如图片、视频、日志文件、备份等。
- 接口:它通过 S3 API 暴露其功能。这意味着任何能与 S3 通信的工具,理论上都可以与 MinIO 通信。
注意:MinIO项目开源版本已不再维护,新版本不包含完整的WEB界面
安装与配置
使用Docker安装
shell
docker pull minio/minio:RELEASE.2025-04-22T22-12-26Z运行 MinIO 容器:指定一个本地目录作为 MinIO 的数据存储位置。这里我们将本地的 /data/minio 目录映射到容器内部的 /data 目录。
-d: 后台运行容器。--name minio-server: 给容器起一个名字,方便管理。-p 9000:9000: 将容器的 9000 端口(API 端口)映射到主机的 9000 端口。-p 9001:9001: 将容器的 9001 端口(Web 控制台端口)映射到主机的 9001 端口。-v /data/minio:/data: 将主机的/data/minio目录挂载到容器的/data目录。所有上传到 MinIO 的数据都会持久化到这个本地目录。-e "MINIO_ROOT_USER=admin": 设置 MinIO 的根用户(用户名)。-e "MINIO_ROOT_PASSWORD=minio123456": 设置 MinIO 的根密码。请务必在生产环境中使用一个强密码!minio/minio server /data: 启动 MinIO 服务器,并指定/data作为数据存储目录。--console-address ":9001": 指定 Web 控制台监听在 9001 端口。
shell
# 创建本地数据目录
mkdir -p /data/minio
# 运行 MinIO 容器
docker run -d \
--name minio-server \
-p 9000:9000 \
-p 9001:9001 \
-v /data/minio:/data \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=minio123456" \
minio/minio:RELEASE.2025-04-22T22-12-26Z server /data --console-address ":9001"访问 MinIO
容器启动后,可以通过以下方式访问 MinIO:
- Web 控制台: 在浏览器中打开
http://<你的服务器IP>:9001。使用你刚才设置的用户名admin和密码minio123456登录。示例:http://127.0.0.1:9001/browser - API 接口: 应用程序可以通过
http://<你的服务器IP>:9000访问 MinIO 的 S3 兼容 API。

创建和管理存储桶
存储桶(Bucket)是 MinIO 中最高级别的容器,类似于文件系统中的文件夹,但它是用于存储对象(Object)的顶层容器。
创建存储桶 (Create Bucket)
- 点击右下角的 “Create Bucket” 按钮。
- 输入一个唯一的、符合 DNS 规范的名称(例如
my-first-bucket)。 - (可选)你可以启用 “Versioning”(版本控制),这样当你上传同名文件时,旧版本不会被覆盖,而是会被保留。

上传文件 (Upload Files)
- 进入你刚刚创建的存储桶。
- 点击 “Upload” 按钮。
- 你可以选择 “Upload File” 上传单个文件,或 “Upload Folder” 上传整个文件夹。
- 选择文件后,点击 “Upload” 即可。上传的文件就是 MinIO 中的 “对象”。
管理对象 (Manage Objects)
- 下载 (Download):点击文件名或右侧的下载图标。
- 分享 (Share):生成一个带有时效性的、可公开访问的下载链接。这是非常实用的功能。
- 删除 (Delete):删除一个或多个文件。
- 复制 / 移动 (Copy/Move):在不同存储桶之间移动或复制文
访问密钥与权限管理
不要将 root 用户(admin)直接提供给所有应用或用户。MinIO 提供了强大的身份与访问管理(IAM)功能。
创建访问密钥 (Access Keys):这是给应用程序使用的凭证,而不是给人登录控制台的。
- 点击左侧导航栏的 “Access Keys”。
- 点击 “Create access key”。
- 系统会生成一个
Access Key和一个Secret Key。请立即复制并妥善保管它们,因为关闭窗口后Secret Key将无法再次查看。 - 应用程序在连接 MinIO 时,就会使用这对密钥。
创建并分配策略 (Policies):策略定义了访问密钥能做什么、不能做什么。
- 点击左侧导航栏的 “Policies”。
- 你可以使用内置策略(如
readwrite),点击复制 - 回到访问密钥,点击编辑,粘贴策略

json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}用户管理
创建用户 (Users):这是给人使用的凭证,他们可以用这个用户名和密码登录 Web 控制台。
- 点击左侧导航栏的 “Users”。
- 点击 “Create User”。
- 输入用户名和密码。
- 重要:刚创建的用户默认没有任何权限。你需要为其分配策略(Policy)。
创建并分配策略 (Policies):策略定义了用户或访问密钥能做什么、不能做什么。
- 点击左侧导航栏的 “Policies”。
- 你可以使用内置策略(如
readwrite、readonly),也可以点击 “Create Policy” 创建自定义策略。 - 例如,创建一个只允许用户对
my-first-bucket进行读写的策略: - 创建策略后,回到 “Users” 页面,编辑你想授权的用户,在 “Policies” 标签页下,将刚刚创建的策略分配给该用户。
json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::my-first-bucket",
"arn:aws:s3:::my-first-bucket/*"
]
}
]
}