Docker安装MinIO

文章目录


前言

在当今数据驱动的时代,高效、可靠的存储解决方案成为企业和技术团队的核心需求。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"
  1. -p 9000:9000: 将minio的9000端口映射到宿主机的9000端口(左边为宿主机端口)

  2. -p 9001:9001:将minio的9001端口映射到宿主机的9001端口(左边为宿主机端口)

  3. -v /home/docker/minio/data:/data :表示将宿主机的/soft/minio/data目录挂载到容器的/data目录

  4. -v /home/docker/minio/data:/data :表示将宿主机的/soft/minio/data目录挂载到容器的/data目录

  5. -e "MINIO_ACCESS_KEY=admin":密钥也是登录的用户名,自己设置

  6. -e "MINIO_SECRET_KEY=admin123456" :秘密密钥也是登录的密码,自己设置

  7. --console-address ":9001" :客户端端口为9001

  8. -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:桶名称

相关推荐
消失的旧时光-19431 天前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑1 天前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
小天源1 天前
Cacti在Debian/Ubuntu中安装及其使用
运维·ubuntu·debian·cacti
说实话起个名字真难啊1 天前
用docker来安装openclaw
docker·ai·容器
Trouvaille ~1 天前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
恬静的小魔龙1 天前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
芷栀夏1 天前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
全栈工程师修炼指南1 天前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
Zfox_1 天前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
威迪斯特1 天前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver