当前位置: 首页 > news >正文

Docker安装MinIO对象存储中间件

MinIO 是一个高性能、分布式的对象存储系统,兼容 Amazon S3 云存储服务协议,广泛应用于企业存储、大数据、机器学习和容器化应用等领域。以下是详细介绍:

核心特点

  • 兼容 S3 API :全面兼容 Amazon S3 API,这意味着使用 S3 API 的应用程序几乎无需修改即可与 MinIO 兼容,方便用户迁移和集成。

  • 高性能 :MinIO 支持分布式架构,可将多个服务器组合成一个存储池,提供高吞吐量和低延迟的存储服务,适用于高性能计算和大数据处理场景。

  • 分布式架构 :支持在多个节点上进行分布式存储,能够充分利用多台机器的资源,实现存储容量和性能的水平扩展。

  • 安全性 :支持多种身份验证和授权机制,包括 S3 签名验证、主动式目录服务(Active Directory)和轻量级目录访问协议(LDAP)等,还支持数据加密、多因素身份验证等安全功能,确保数据的安全性和隐私性。

  • 易用性 :提供丰富的客户端工具和管理界面,方便用户进行存储操作和管理。同时,其安装和配置过程简单,便于快速部署和使用。

搭建过程

环境准备

1、安装Docker

2、创建维护用户和存储目录

如果不使用Docker的 Rootless部署,可以不创建普通用户,在docker run启动时,也无需--user指定运行用户。

useradd minio && usermod -a -G docker minio
su - minio && mkdir -p ${HOME}/minio/data

启动MinIO容器

docker run -d --name my-minio \-p 9000:9000 \-p 9001:9001 \--user $(id -u):$(id -g) \quay.io/minio/minio server /data --console-address ":9001"

注意:
1、MinIO默认情况下在随机端口上运行控制台,如果您希望选择特定的端口,
请使用--console-address来选择特定的接口和端口。
2、不指定用户名密码,可以通过docker logs从日志中查看用户名密码,默认:minioadmin:minioadmin

其他额外启动项

指定用户名密码

   -e "MINIO_ROOT_USER=admin" \
   -e "MINIO_ROOT_PASSWORD=PASSWORD" \

配置console语言为中文。

虽并未对console web页做国际化,仍然显示英文;但是,部分配置项会以中文展示了。

   -e "MINIO_CONSOLE_LOCALE=zh_CN" \

以本地目录配置存储持久化

   -v ${HOME}/minio/data:/data \

配置https访问所需的证书目录

注:这里不指定,默认使用~/.minio/certs目录下的证书(该目录下默认为空,即使用http访问)

   -v ${HOME}/minio/certs:/certs \

基本启动参数

  • docker run -d --name my-minio3 :以分离模式(后台运行)启动一个名为 my-minio3 的 Docker 容器。

  • -p 9000:9000 -p 9001:9001 :将宿主机的 9000 端口和 9001 端口分别映射到容器内部的 9000 端口和 9001 端口。9000 用于对象存储服务,9001 用于 MinIO Console。

  • --user $(id -u):$(id -g) :以当前用户的用户 ID 和组 ID 运行容器,确保容器内的文件和目录权限与宿主机用户匹配,避免权限问题。

环境变量配置

  • -e "MINIO_ROOT_USER=admin" :设置 MinIO 的根用户账号为 admin

  • -e "MINIO_ROOT_PASSWORD=你的密码" :设置 MinIO 的根用户密码。

  • -e "MINIO_CONSOLE_LOCALE=zh_CN" :设置 MinIO Console 的语言为中文(简体)。

卷挂载

  • -v ${HOME}/minio/data:/data :将宿主机用户主目录下的 minio/data 目录挂载到容器内的 /data 目录,用于存储 MinIO 的数据。

  • -v ${HOME}/minio/certs:/certs :将宿主机用户主目录下的 minio/certs 目录挂载到容器内的 /certs 目录,用于提供 TLS 证书和私钥。

MinIO 服务配置

  • quay.io/minio/minio server --certs-dir /certs /data --console-address ":9001" :指定使用的 MinIO 镜像,并配置 MinIO 服务。

    • server :表示以服务器模式运行 MinIO。

    • --certs-dir /certs :指定证书目录为容器内的 /certs,用于启用 HTTPS。

    • /data :指定 MinIO 数据存储目录为容器内的 /data

    • --console-address ":9001" :设置 MinIO Console 的监听地址为容器内部的 9001 端口。

最终启动命令

docker run -d --name my-minio3 \-p 9000:9000 \-p 9001:9001 \--user $(id -u):$(id -g) \-e "MINIO_ROOT_USER=admin" \-e "MINIO_ROOT_PASSWORD=PASSWORD" \-e "MINIO_CONSOLE_LOCALE=zh_CN" \-v ${HOME}/minio/data:/data \-v ${HOME}/minio/certs:/certs \quay.io/minio/minio server --certs-dir /certs /data --console-address ":9001"

如果只启动S3 API的话,要禁用console,可以如下启动:

docker run -d --name my-minio2 \-p 9000:9000 \--user $(id -u):$(id -g) \-e "MINIO_BROWSER=off" \-v ${HOME}/minio/data:/data \quay.io/minio/minio server /data

验证

使用MinIO控制台进行测试
MinIO服务器带有一个嵌入式的基于web的对象浏览器。
浏览器访问:http://IP:9000

用户名密码登录后

http://www.xdnf.cn/news/568765.html

相关文章:

  • 图片识别(TransFormerCNNMLP)
  • 分享一些多模态文档解析思路
  • 蓝桥杯3503 更小的数
  • polarctf-web-[某函数的复仇]
  • 基于python的机器学习(七)—— 数据特征选择
  • PostgreSQL中通过查询数据插入到表的几种方法( SELECT INTO和INSERT INTO ... SELECT)
  • uniapp+vue3 随机、换一批
  • anaconda创建环境出错HTTPS
  • Captiks动捕与步态分析步态分析系统MOVIT:16μs 无线同步 + 快速校准,破解传统光电困局
  • 集成 OpenTelemetry + Grafana:实现 ABP VNext 的全链路可观测性
  • API面临哪些风险,如何做好API安全?
  • vue+threeJs 创建千色三角形宇宙
  • spring-retry
  • Pandoc3.7新特性:存在合并单元格的 HTML 表格会被保留为嵌入的 HTML 表格
  • WordPress Elementor零基础教程
  • 【Redis8】最新安装版与手动运行版
  • 电商项目-商品微服务-规格参数管理,分类与品牌管理需求分析
  • FFmpeg中使用Android Content协议打开文件设备
  • 免费的DDOS防护对网站业务有用吗?
  • 电子电路:什么是寄生电容?
  • 迅为RK3568开发板Linux_NVR_SDK系统开发编译 rootfs 提示分区小
  • 以太坊ETH创建代币完整教程
  • 2025.05.21华为暑期实习机考真题解析第一题
  • html,js获取扫码设备的输入内容
  • 自监督学习与监督学习
  • docker中使用openresty
  • 《国家职业教育平台:点亮职业教育新灯塔》
  • JMeter 教程:正则表达式提取器提取 JSON 字段数据
  • 鸿蒙HarmonyOS最新的组件间通信的装饰器与状态组件详解
  • 多模态学习笔记