vault backup: 2025-08-31 10:54:50
This commit is contained in:
1 parent
55d9ded01c
commit
45aa2ff6d2
14 files changed
+1631
-294
No files matched your search
@@ -0,0 +1,141 @@
|
||||
---
|
||||
created: 2025-08-31T10:37
|
||||
updated: 2025-08-31T10:37
|
||||
---
|
||||
以下是 **MinIO(S3兼容存储)的Docker部署教程**,支持私有化部署和API兼容AWS S3:
|
||||
|
||||
---
|
||||
|
||||
### **1. 快速启动(单机版)**
|
||||
#### 基础命令
|
||||
```bash
|
||||
docker run -d \
|
||||
-p 9000:9000 -p 9001:9001 \
|
||||
-v /mnt/data:/data \
|
||||
-e "MINIO_ROOT_USER=admin" \
|
||||
-e "MINIO_ROOT_PASSWORD=your_strong_password" \
|
||||
--name minio \
|
||||
quay.io/minio/minio server /data --console-address ":9001"
|
||||
```
|
||||
- **访问控制台**:`http://服务器IP:9001`
|
||||
- **API端点**:`http://服务器IP:9000`
|
||||
- 默认账号:`admin` / 密码:`your_strong_password`
|
||||
|
||||
---
|
||||
|
||||
### **2. 生产环境配置(docker-compose.yml)**
|
||||
```yaml
|
||||
version: '3.7'
|
||||
services:
|
||||
minio:
|
||||
image: quay.io/minio/minio
|
||||
command: server /data --console-address ":9001"
|
||||
ports:
|
||||
- "9000:9000" # API端口
|
||||
- "9001:9001" # 控制台端口
|
||||
volumes:
|
||||
- ./minio-data:/data
|
||||
environment:
|
||||
MINIO_ROOT_USER: admin
|
||||
MINIO_ROOT_PASSWORD: your_strong_password
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||
interval: 30s
|
||||
timeout: 20s
|
||||
retries: 3
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **3. 分布式部署(4节点示例)**
|
||||
```bash
|
||||
# 每个节点执行(修改对应IP和目录)
|
||||
docker run -d \
|
||||
--net=host \
|
||||
-v /mnt/disk1:/data1 \
|
||||
-v /mnt/disk2:/data2 \
|
||||
quay.io/minio/minio server \
|
||||
http://node{1...4}/data{1...2} \
|
||||
--console-address ":9001"
|
||||
```
|
||||
> 📌 要求:
|
||||
> - 至少4个节点
|
||||
> - 每个节点2块磁盘
|
||||
> - 同一内网互通
|
||||
|
||||
---
|
||||
|
||||
### **4. 客户端连接配置**
|
||||
#### AWS CLI配置
|
||||
```bash
|
||||
aws configure set aws_access_key_id admin
|
||||
aws configure set aws_secret_access_key your_strong_password
|
||||
aws configure set default.region us-east-1
|
||||
aws --endpoint-url http://localhost:9000 s3 ls
|
||||
```
|
||||
|
||||
#### Python示例
|
||||
```python
|
||||
import boto3
|
||||
s3 = boto3.client('s3',
|
||||
endpoint_url='http://localhost:9000',
|
||||
aws_access_key_id='admin',
|
||||
aws_secret_access_key='your_strong_password')
|
||||
s3.create_bucket(Bucket='my-bucket')
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **5. 常见问题解决**
|
||||
#### 🔴 存储权限问题
|
||||
```bash
|
||||
# 修改数据卷权限
|
||||
chown -R 1001:1001 /mnt/data
|
||||
```
|
||||
|
||||
#### 🟡 控制台无法访问
|
||||
检查防火墙规则:
|
||||
```bash
|
||||
sudo ufw allow 9000/tcp
|
||||
sudo ufw allow 9001/tcp
|
||||
```
|
||||
|
||||
#### 🟢 数据备份
|
||||
```bash
|
||||
# 使用mc客户端同步
|
||||
docker run -it --entrypoint=/bin/sh minio/mc
|
||||
mc mirror local/ minio/backup-bucket/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **6. 监控与运维**
|
||||
#### 启用Prometheus监控
|
||||
```yaml
|
||||
# 在docker-compose.yml中添加环境变量
|
||||
environment:
|
||||
MINIO_PROMETHEUS_AUTH_TYPE: "public"
|
||||
MINIO_PROMETHEUS_URL: "http://prometheus:9090"
|
||||
```
|
||||
|
||||
#### 日志查看
|
||||
```bash
|
||||
docker logs --tail 100 -f minio
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **7. 进阶功能**
|
||||
| 功能 | 配置方法 |
|
||||
|--------------------|---------------------------------------|
|
||||
| **SSL证书** | 挂载证书到`/root/.minio/certs`目录 |
|
||||
| **版本控制** | `mc version enable my-bucket` |
|
||||
| **生命周期管理** | 通过控制台配置自动删除规则 |
|
||||
| **多租户** | 使用`mc admin policy`创建独立用户权限 |
|
||||
|
||||
> 💡 推荐工具:
|
||||
> - 管理客户端:[`mc`命令行工具](https://min.io/docs/minio/linux/reference/minio-mc.html)
|
||||
> - 可视化工具:[MinIO Console](http://localhost:9001)
|
||||
|
||||
需要更详细的HTTPS配置或性能优化参数吗?
|
||||
Reference in new issue
Block a user