MinIO是一款高性能的开源对象存储服务,兼容Amazon S3接口,常被用于存储非结构化数据。在Linux系统中通过Docker部署MinIO可以快速完成环境搭建,避免复杂的依赖配置,以下是具体的操作步骤。

前置条件
首先需要确保Linux系统已经安装Docker环境,若未安装可以先执行以下命令完成Docker的安装与启动:
# 安装Docker依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加Docker软件源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装Docker sudo yum install -y docker-ce docker-ce-cli containerd.io # 启动Docker服务并设置开机自启 sudo systemctl start docker sudo systemctl enable docker
拉取MinIO镜像
Docker环境就绪后,从官方镜像仓库拉取最新的MinIO镜像:
sudo docker pull minio/minio
拉取完成后可以通过docker images命令查看本地镜像,确认MinIO镜像已经存在。
启动MinIO容器
启动容器时需要配置端口映射、数据挂载目录、访问密钥等参数,执行以下命令启动MinIO:
sudo docker run -d --name minio -p 9000:9000 -p 9001:9001 -v /data/minio/data:/data -v /data/minio/config:/root/.minio -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123456" minio/minio server /data --console-address ":9001"
命令参数说明:
- -d:后台运行容器
- --name minio:指定容器名称为minio
- -p 9000:9000:映射API服务端口,用于程序调用
- -p 9001:9001:映射控制台端口,用于Web管理
- -v /data/minio/data:/data:挂载数据存储目录,避免容器删除后数据丢失
- -v /data/minio/config:/root/.minio:挂载配置文件目录
- -e MINIO_ROOT_USER:设置控制台登录用户名
- -e MINIO_ROOT_PASSWORD:设置控制台登录密码,长度不能小于8位
- --console-address ":9001":指定控制台监听端口
验证安装结果
容器启动后,可以通过以下步骤验证安装是否成功:
查看容器运行状态
执行以下命令查看容器是否正常运行:
sudo docker ps | grep minio
如果看到minio容器状态为Up,说明容器启动成功。
访问Web控制台
在浏览器中输入http://服务器IP:9001,使用之前设置的用户名和密码登录,若能正常进入管理界面,说明MinIO安装完成。
基础使用测试
登录控制台后,可以点击创建Bucket,输入桶名称完成存储桶的创建,之后可以上传文件测试存储功能是否正常。也可以通过API端口调用MinIO服务,以下是使用Python SDK上传文件的示例:
from minio import Minio
# 初始化MinIO客户端
client = Minio(
"127.0.0.1:9000",
access_key="admin",
secret_key="admin123456",
secure=False
)
# 上传文件
client.fput_object(
"test-bucket",
"test.txt",
"/tmp/test.txt"
)
print("文件上传成功")
常见问题处理
如果容器启动失败,可以通过sudo docker logs minio查看容器日志,常见问题包括端口被占用、密码长度不足、目录权限不足等。如果是目录权限问题,可以执行sudo chmod -R 777 /data/minio修改目录权限后重新启动容器。