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

相关推荐
Graceful_scenery7 小时前
ROS2核心概念之服务
运维·服务器
徐子元竟然被占了!!7 小时前
应用运维目录
运维
RisunJan8 小时前
Linux命令-gpasswd命令(管理用户组的重要工具)
linux·运维·服务器
YongCheng_Liang8 小时前
LZMA2 压缩技术解析与高性能加密压缩脚本模块化解读
运维·7-zip
Selegant9 小时前
Docker 搭建 MySQL 主从服务实战操作详解
mysql·docker·容器
where happens9 小时前
centos创建目录并授予权限
linux·运维·服务器·centos
liebe1*19 小时前
第七章 防火墙地址转换
运维·服务器·网络
好好学操作系统9 小时前
autodl 保存 数据 跨区
linux·运维·服务器
dbitc9 小时前
WIN11把WSL2移动安装目录
linux·运维·ubuntu·wsl