前置要求
-
Linux服务器(Ubuntu/CentOS/Debian等)
-
已安装Docker和Docker Compose
-
服务器开放9000和9001端口(或自定义端口)
方法一:使用Docker命令直接运行(推荐快速测试)
1. 拉取MinIO镜像
docker pull minio/minio
2. 创建数据目录
mkdir -p /opt/minio/data mkdir -p /opt/minio/config
3. 运行MinIO容器
docker run -d \ --name minio \ --restart=always \ -p 9000:9000 \ -p 9001:9001 \ -e "MINIO_ROOT_USER=minio123" \ -e "MINIO_ROOT_PASSWORD=minio123" \ -v /opt/minio/data:/data \ -v /opt/minio/config:/root/.minio \ minio/minio server /data \ --console-address ":9001"
参数说明:
-
-d: 后台运行 -
--name minio: 容器名称 -
--restart=always: 开机自启 -
-p 9000:9000: API端口映射 -
-p 9001:9001: 控制台端口映射 -
-e MINIO_ROOT_USER: 管理员用户名 -
-e MINIO_ROOT_PASSWORD: 管理员密码 -
-v /opt/minio/data:/data: 数据目录挂载 -
--console-address ":9001": 控制台访问地址
方法二:使用Docker Compose(推荐生产环境)
1. 创建docker-compose.yml文件
mkdir -p /opt/minio cd /opt/minio vim docker-compose.yml
2. docker-compose.yml内容
version: '3.8' services: minio: image: minio/minio:latest container_name: minio restart: always ports: - "9000:9000" # API端口 - "9001:9001" # 控制台端口 environment: MINIO_ROOT_USER: minio123 MINIO_ROOT_PASSWORD: minio123 volumes: - ./data:/data - ./config:/root/.minio command: server /data --console-address ":9001" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3
3. 启动MinIO
# 创建数据目录 mkdir -p data config # 启动服务 docker-compose up -d # 查看日志 docker-compose logs -f minio
4. 停止和重启
# 停止 docker-compose down # 重启 docker-compose restart # 查看状态 docker-compose ps
方法三:使用自定义配置(生产环境推荐)
1. 创建配置文件
mkdir -p /opt/minio/{data,config}
2. 运行容器(自定义端口和路径)
docker run -d \ --name minio \ --restart=always \ -p 9000:9000 \ -p 9001:9001 \ -e "MINIO_ROOT_USER=你的用户名" \ -e "MINIO_ROOT_PASSWORD=你的强密码" \ -v /opt/minio/data:/data \ -v /opt/minio/config:/root/.minio \ minio/minio server /data \ --console-address ":9001" \ --address ":9000"
访问MinIO
API访问地址
http://你的服务器IP:9000
控制台访问地址
http://你的服务器IP:9001
使用配置的用户名和密码登录控制台。
与项目配置对接
根据您的application.yml配置,确保以下设置:
minio: endpoint: http://132.232.198.207:9000 # 修改为你的服务器IP accessKey: minio123 # 与MINIO_ROOT_USER一致 secretKey: minio123 # 与MINIO_ROOT_PASSWORD一致 bucketName: zhiyan usePathStyleAccess: true enable: true
创建存储桶(Bucket)
方法1:通过控制台创建
-
访问
http://你的服务器IP:9001 -
登录后点击"Create Bucket"
-
输入桶名称:
zhiyan -
设置访问策略(如果需要公开访问)
方法2:使用MinIO客户端(mc)
# 下载mc客户端 wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc mv mc /usr/local/bin/ # 配置MinIO服务器 mc alias set myminio http://你的服务器IP:9000 minio123 minio123 # 创建存储桶 mc mb myminio/zhiyan # 设置存储桶策略(公开读) mc anonymous set download myminio/zhiyan # 列出存储桶 mc ls myminio
防火墙配置
CentOS/RHEL
# 开放端口 firewall-cmd --permanent --add-port=9000/tcp firewall-cmd --permanent --add-port=9001/tcp firewall-cmd --reload
Ubuntu/Debian
# 使用ufw ufw allow 9000/tcp ufw allow 9001/tcp ufw reload
数据备份
MinIO的数据存储在挂载的目录中,定期备份/opt/minio/data目录即可:
# 备份示例
tar -czf minio-backup-$(date +%Y%m%d).tar.gz /opt/minio/data
常用管理命令
# 查看容器状态
docker ps | grep minio
# 查看日志
docker logs -f minio
# 进入容器
docker exec -it minio sh
# 停止容器
docker stop minio
# 启动容器
docker start minio
# 删除容器(注意:不会删除数据)
docker rm minio
# 查看资源使用
docker stats minio
故障排查
1. 端口被占用
# 检查端口占用
netstat -tulpn | grep 9000
lsof -i:9000
# 修改端口映射
# 将 -p 9000:9000 改为 -p 其他端口:9000
2. 权限问题
# 确保数据目录有写权限
chmod -R 777 /opt/minio/data
chown -R 1000:1000 /opt/minio/data # MinIO默认使用UID 1000
3. 无法访问控制台
-
检查防火墙设置
-
确认控制台端口映射正确(应该是9001)
-
检查容器日志:
docker logs minio
4. 连接超时
-
检查网络连接
-
验证endpoint地址是否正确
-
检查防火墙和SELinux设置
生产环境建议
-
使用强密码 :不要使用默认的
minio123,改为复杂密码 -
启用SSL/TLS:生产环境建议配置HTTPS
-
定期备份:设置自动备份任务
-
监控资源:监控磁盘空间和容器资源使用
-
日志管理:配置日志轮转避免日志文件过大
-
多节点部署:生产环境考虑MinIO分布式部署
验证安装
安装完成后,运行以下命令验证:
# 检查容器状态
docker ps | grep minio
# 测试API
curl http://localhost:9000/minio/health/live
# 访问控制台
curl -I http://localhost:9001
如果都能正常响应,说明MinIO安装成功!