您的位置 首页 kubesphere

minio是什么 以及minio单机部署-minio 安装

minio是对象存储 的。类似一个网盘,大家可以想象成一个开源的百度网盘。

对象存储可以理解为,普通的存储,区别就是 我们放进去的文件,没有路径这些概念,我们只通过文件的ID 来取,先这样简单理解就行了,不用太过的照搬概念。

docker-compose 方式在最后:

首先

Minio 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,
非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,
而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等。

Minio是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

接下来我们进行minio单机部署

这里我们选择 docker 安装 (简单方便)

https://min.io/docs/minio/container/index.html

没有安装docker 的可以参考: 连接

1-下载 minio

使用docker安装MINIO

docker search minio

docker pull minio/minio

 

2-运行 : 路径不用单独创建

docker run -p 9000:9000 -p 9090:9090 \
 --name minio1 \
 -d --restart=always \
 -e "MINIO_ACCESS_KEY=admin" \
 -e "MINIO_SECRET_KEY=admin123" \
 -v /data/minio/data:/data \
 minio/minio server \
 /data --console-address ":9090" -address ":9000"

 

更改密码:

k.123A

4-访问:

http://10.0.0.241:9090/login

 

 

4- 使用 minio

创建 一个buckets

 

minio创建Service Accounts

 

xVQEZ1umh6uzbzWjWzxm
Z7xgHASRK4Tiehmp2yUBUnlRMshnPSzRdMPz9DXd
注意:保存好 Access Key 和 Sectet Key 的值,后续需要使用到。

 

到此,我们的 minio 已经搭建完成。

 

miniO集群 搭建参考:https://www.cnblogs.com/jiaxzeng/p/16206474.html

 

docker-compose方式:

version: "3.5"
services:
  minio:
    image: registry.cn-hangzhou.aliyuncs.com/baimeidashu/minio:minio-RELEASE.2025-07-18T21-56-31Z-cpuv1
    container_name: minio
    privileged: true
    restart: always
    ports:
      # API接口访问端口
      - 9000:9000
      # Web管理访问端口
      - 9001:9001
    environment:
      # Web管理用户名
      MINIO_ROOT_USER: minio
      #Web管理密码
      MINIO_ROOT_PASSWORD: miniominio
    volumes:
      # 文件目录映射
      - ./data:/data
    # 启动minio容器服务执行命令
    # 必须指定固定端口:Web管理后台是动态端口  /data参数是容器内部数据目录
    command: server  /data --console-address ":9001"

 

访问:ip : 9001

发现不能创建 用户,很奇怪

新版 MinIO 的 Web 界面确实移除了一些旧版的功能,包括直接在 UI 上创建用户的功能。这是出于安全性和权限管理的考虑

 

 

新版 MinIO 的 Web 界面确实移除了一些旧版的功能,包括直接在 UI 上创建用户的功能。这是出于安全性和权限管理的考虑。以下是详细说明和替代方案:

---

## 📌 为什么新版 MinIO Web 界面不能创建用户?

1. **权限分离原则**:
- 新版 MinIO 更强调安全和权限分离,普通用户(即使是管理员)无法通过 UI 直接创建用户。
- 用户管理必须通过命令行工具(`mc`)或 REST API 完成。

2. **Web 界面简化**:
- 新版 UI 主要用于对象存储操作(如上传、下载、查看 Bucket 内容等)。
- 用户和策略管理被转移到命令行和 API。

3. **安全考虑**:
- 避免通过 Web 界面暴露过多管理功能,减少攻击面。

---

## ✅ 替代方案:使用 `mc` 命令行工具创建用户

### 1. 添加 MinIO 服务别名:
```bash
mc alias set myminio http://localhost:9000 MINIO_ROOT_USER MINIO_ROOT_PASSWORD
```

### 2. 创建用户:
```bash
mc admin user add myminio newuser newuser123
```

### 3. 为用户分配策略(例如 readwrite):
```bash
mc admin policy set myminio readwrite user=newuser
```

---

## ✅ 使用 REST API 创建用户(高级用法)

如果你需要通过程序化方式管理用户,可以调用 MinIO 的 Admin API:

### 示例(使用 curl):
```bash
curl -X POST \
"http://localhost:9000/minio/admin/v3/add-user?accessKey=newuser" \
-H "Authorization: AWS4-HMAC-SHA256 ..." \
-H "Content-Type: application/json" \
-d '{"secretKey":"newuser123","status":"enabled","policy":"readwrite"}'
```

> ⚠️ 注意:API 调用需要签名(Signed Request),推荐使用 SDK 或 `mc` 工具。

---

## ✅ 查看和管理已有用户

### 列出所有用户:
```bash
mc admin user list myminio
```

### 查看用户详细信息:
```bash
mc admin user info myminio newuser
```

### 删除用户:
```bash
mc admin user remove myminio newuser
```

---

## 🧩 自定义策略(可选)

你可以为用户分配更精细的权限:

### 1. 创建自定义策略文件(如 `mypolicy.json`):
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::mybucket/*"
]
}
]
}
```

### 2. 添加策略到 MinIO:
```bash
mc admin policy add myminio mypolicy mypolicy.json
```

### 3. 绑定策略到用户:
```bash
mc admin policy set myminio mypolicy user=newuser
```

---

## 📌 总结

| 操作 | 方法 |
|------|------|
| 创建用户 | `mc admin user add ...` |
| 分配权限 | `mc admin policy set ...` |
| 查看用户 | `mc admin user list ...` |
| 删除用户 | `mc admin user remove ...` |
| 自定义策略 | `mc admin policy add ...` |

---

如需进一步了解,请参考 MinIO 官方文档:
🔗 [MinIO Admin API 文档](https://min.io/docs/minio/linux/reference/minio-mc-admin.html)
🔗 [MinIO 用户管理指南](https://min.io/docs/minio/linux/administration/identity-management.html)

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章