目录
1. MinIO简介
什么是MinIO?
为什么选择Docker安装?
2. 环境准备
检查Docker状态
检查防火墙设置
创建存储目录
3. 快速启动MinIO
基础启动命令
验证启动状态
4. 配置持久化存储
停止并删除临时容器
使用数据卷启动MinIO
验证数据持久化
5. 访问MinIO控制台
通过浏览器访问
本地访问(如果在本机安装)
控制台功能介绍
6. 高级配置
使用Docker Compose管理
配置SSL/HTTPS(可选)
环境变量配置
7. 管理和维护
常用Docker命令
数据备份
设置开机自启动
8. 常见问题解决
问题1:无法访问Web控制台
问题2:权限不足错误
问题3:容器意外停止
问题4:忘记管理员密码
问题5:升级MinIO版本
总结
1. MinIO简介
什么是MinIO?
MinIO是一个高性能的对象存储服务,兼容Amazon S3 API。简单来说,它就像一个私有云盘,可以让你:
- 存储文件、图片、视频等任何数据
- 通过网页界面管理文件
- 为应用程序提供文件存储服务
- 支持分布式部署,数据安全可靠
为什么选择Docker安装?
- 简单快捷:一条命令就能启动
- 环境隔离:不会影响系统其他服务
- 易于管理:启动、停止、删除都很方便
- 版本控制:可以轻松切换不同版本
2. 环境准备
检查Docker状态
首先确认Docker已经安装并正在运行:
# 检查Docker版本
docker --version# 检查Docker服务状态
systemctl status docker# 如果Docker没有启动,执行以下命令
sudo systemctl start docker
sudo systemctl enable docker
检查防火墙设置
MinIO默认使用9000和9001端口,需要确保这些端口可以访问:
# 查看防火墙状态
firewall-cmd --state# 如果防火墙开启,需要开放端口
sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9001/tcp --permanent
sudo firewall-cmd --reload# 验证端口是否开放
firewall-cmd --zone=public --list-ports
创建存储目录
为MinIO数据创建专门的目录:
# 创建MinIO数据目录
sudo mkdir -p /opt/minio/data
sudo mkdir -p /opt/minio/config# 设置目录权限(重要!)
sudo chmod 755 /opt/minio/data
sudo chmod 755 /opt/minio/config
3. 快速启动MinIO
基础启动命令
使用以下命令快速启动MinIO:
docker run -p 9000:9000 -p 9001:9001 \--name minio \-e "MINIO_ROOT_USER=admin" \-e "MINIO_ROOT_PASSWORD=password123" \quay.io/minio/minio server /data --console-address ":9001"
命令解释:
-p 9000:9000
:映射API端口(用于程序访问)-p 9001:9001
:映射Web控制台端口(用于网页管理)--name minio
:给容器命名为minio-e "MINIO_ROOT_USER=admin"
:设置管理员用户名为admin-e "MINIO_ROOT_PASSWORD=password123"
:设置管理员密码server /data
:启动服务器,数据存储在/data目录--console-address ":9001"
:指定控制台端口
验证启动状态
# 查看容器运行状态
docker ps# 查看MinIO日志
docker logs minio# 如果一切正常,你会看到类似输出:
# MinIO Object Storage Server
# Copyright: 2015-2023 MinIO, Inc.
# API: http://172.17.0.2:9000 http://127.0.0.1:9000
# Console: http://172.17.0.2:9001 http://127.0.0.1:9001
4. 配置持久化存储
上面的快速启动方法有个问题:容器删除后数据就丢失了。让我们配置持久化存储:
停止并删除临时容器
# 停止容器
docker stop minio# 删除容器
docker rm minio
使用数据卷启动MinIO
docker run -d \-p 9000:9000 \-p 9001:9001 \--name minio \-v /opt/minio/data:/data \-v /opt/minio/config:/root/.minio \-e "MINIO_ROOT_USER=admin" \-e "MINIO_ROOT_PASSW