文章目录
前言
在当今数据驱动的时代,高效、可靠的存储解决方案成为企业和技术团队的核心需求。MinIO 作为一款高性能、兼容 Amazon S3 的分布式对象存储系统,凭借其轻量级、易部署和开源特性,成为云原生存储领域的佼佼者。它适用于多种场景,包括大数据分析、机器学习模型存储、备份归档以及多媒体内容分发等。通过 Docker,用户可以在几秒钟内启动一个功能完整的 MinIO 实例,无需复杂的配置或依赖环境。无论是开发测试还是生产环境,Docker 化的 MinIO 都能提供一致的体验,同时支持灵活的扩展和高可用性部署。
本文将详细介绍如何在 Docker 环境下安装和配置 MinIO,涵盖单机部署、持久化存储设置、访问权限管理以及基本操作示例。无论你是开发者、运维工程师还是技术爱好者,都能通过本文快速掌握 MinIO 的核心用法,为项目构建高效、可扩展的存储基础设施。
一、MinIo简介?
MinIO是一款高性能、开源的对象存储服务器,兼容Amazon S3 API。专为云原生和容器化环境设计,支持分布式部署,适用于大规模数据存储场景。
1、核心特点
-
高性能:采用Golang编写,优化了读写速度,适合高吞吐量场景。
-
兼容S3:完全兼容Amazon S3 API,可无缝替换或扩展S3服务。
-
轻量级:单二进制文件部署,资源占用低,启动快速。
-
分布式架构:支持多节点集群,实现数据高可用和横向扩展
2、适用场景
-
私有云存储:替代传统NAS/SAN,提供S3兼容接口。
-
大数据分析:与Hadoop、Spark等生态工具集成。
-
备份与归档:支持版本控制和生命周期管理。
3、MinIO的纠删码机制
MinIO的纠删码(Erasure Coding,EC)是一种数据冗余技术,用于在分布式存储系统中保障数据的高可用性和可靠性。通过数学算法将原始数据分割并编码为多个数据块和校验块,即使部分节点或磁盘失效,仍能恢复原始数据。
二、使用Docker安装MinIo
1、拉去镜像
bash
docker pull minio/minio
2、 创建MinIO的挂载目录
bash
mkdir -p /home/docker/minio/config
mkdir -p /home/docker/minio/data
3、启动脚本
bash
docker run -d --name minio -p 9000:9000 -p 9001:9001 -v /home/docker/minio/data:/data -v /home/docker/minio/config:/root/.minio -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123456" minio/
minio server /data --console-address ":9001"
java
docker run -d \
--name minio \
-p 9000:9000 \
-p 9001:9001 \
-v /home/docker/minio/config:/root/.minio \
-v /home/docker/minio/data:/data \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123456" \
minio/minio server /data --console-address ":9001"
-
-p 9000:9000: 将minio的9000端口映射到宿主机的9000端口(左边为宿主机端口)
-
-p 9001:9001:将minio的9001端口映射到宿主机的9001端口(左边为宿主机端口)
-
-v /home/docker/minio/data:/data :表示将宿主机的/soft/minio/data目录挂载到容器的/data目录
-
-v /home/docker/minio/data:/data :表示将宿主机的/soft/minio/data目录挂载到容器的/data目录
-
-e "MINIO_ACCESS_KEY=admin":密钥也是登录的用户名,自己设置
-
-e "MINIO_SECRET_KEY=admin123456" :秘密密钥也是登录的密码,自己设置
-
--console-address ":9001" :客户端端口为9001
-
-address ":9000" :服务端口为9000
4、测试
浏览器中输入:http://127.0.0.1:9001(启动脚本指定:--console-address ":9001")。进入如下图页面则表示安装成功。

输入用户名/密码进行登录,用户名密码在启动脚本中指定:
-e "MINIO_ACCESS_KEY=admin"
-e "MINIO_SECRET_KEY=admin123456" )
登录成功如下图:

三、MinIo的使用
1、创建桶

这里需要注意,创建的桶为私有属性,如果需要修改为pulbic则需要使用命令来修改,页面没有修改操作入口。

2、MinIo的操作命令
MinIo分为客户端命令、管理客户端命令。详细命令参照文档:
https://minio.org.cn/docs/minio/linux/reference/minio-mc.html
别名的相关操作
bash
mc alias set myminio http://127.0.0.1:9000 CORRECT_ACCESS_KEY CORRECT_SECRET_KEY

文件的复制

设置桶权限
bash
mc policy set public myminio/mybucket
myminio:别名
mybucket:桶名称