3.4 KiB
Executable File
3.4 KiB
Executable File
created, updated
| created | updated |
|---|---|
| 2025-08-31T10:37 | 2025-08-31T10:47 |
以下是 MinIO(S3兼容存储)的Docker部署教程,支持私有化部署和API兼容AWS S3:
1. 快速启动(单机版)
基础命令
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)
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节点示例)
# 每个节点执行(修改对应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配置
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示例
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. 常见问题解决
🔴 存储权限问题
# 修改数据卷权限
chown -R 1001:1001 /mnt/data
🟡 控制台无法访问
检查防火墙规则:
sudo ufw allow 9000/tcp
sudo ufw allow 9001/tcp
🟢 数据备份
# 使用mc客户端同步
docker run -it --entrypoint=/bin/sh minio/mc
mc mirror local/ minio/backup-bucket/
6. 监控与运维
启用Prometheus监控
# 在docker-compose.yml中添加环境变量
environment:
MINIO_PROMETHEUS_AUTH_TYPE: "public"
MINIO_PROMETHEUS_URL: "http://prometheus:9090"
日志查看
docker logs --tail 100 -f minio
7. 进阶功能
| 功能 | 配置方法 |
|---|---|
| SSL证书 | 挂载证书到/root/.minio/certs目录 |
| 版本控制 | mc version enable my-bucket |
| 生命周期管理 | 通过控制台配置自动删除规则 |
| 多租户 | 使用mc admin policy创建独立用户权限 |
💡 推荐工具:
- 管理客户端:
mc命令行工具- 可视化工具:MinIO Console
需要更详细的HTTPS配置或性能优化参数吗?