Linux上使用Docker安装MinIO指南
前置要求
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:latestcontainer_name: miniorestart: alwaysports:- "9000:9000" # API端口- "9001:9001" # 控制台端口environment:MINIO_ROOT_USER: minio123MINIO_ROOT_PASSWORD: minio123volumes:- ./data:/data- ./config:/root/.miniocommand: server /data --console-address ":9001"healthcheck:test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]interval: 30stimeout: 20sretries: 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 # 修改为你的服务器IPaccessKey: minio123 # 与MINIO_ROOT_USER一致secretKey: minio123 # 与MINIO_ROOT_PASSWORD一致bucketName: zhiyanusePathStyleAccess: trueenable: 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安装成功!

# 启动服务
docker-compose up -d
# 查看日志
docker-compose logs -f minio