【Docker】搭建一个高性能的分布式对象存储服务 - MinIO

前言

本教程基于飞牛系统fnOS 0.8.41Docker Compose功能进行搭建。

简介

MinIO 是一个高性能的分布式对象存储服务,它兼容Amazon S3云存储服务的API。MinIO是用Go语言编写的,可以在各种平台上运行,包括Linux、Windows和macOS。MinIO设计用来存储非结构化的数据,例如图片、视频、日志文件、备份和容器/虚拟机镜像。MinIO的主要特点包括:

  • 高性能和可扩展性:MinIO可以处理任何规模的工作负载,支持无限制的对象数和对象大小,同时保持了高吞吐量和低延迟。

  • 简单易用:MinIO提供了简洁的界面和命令行工具,使其部署和管理变得非常简单。同时,MinIO也提供了丰富的客户端库支持不同的编程语言。

  • 兼容性:MinIO兼容Amazon S3 API,这意味着已经使用S3的应用可以无缝迁移到MinIO,或者使用MinIO作为S3的替代品。

  • 安全性:MinIO提供了强大的安全特性,比如TLS加密、身份验证、访问控制列表(ACL)和策略。

  • 多租户支持:MinIO可以支持多租户环境,使得不同的用户或者应用可以在同一MinIO实例中有自己的隔离空间。

  • 分布式架构:MinIO支持分布式模式,可以跨多个服务器和数据中心进行部署,提高数据的持久性和可用性。

MinIO可以作为私有云或公共云的对象存储解决方案,也可以作为其他服务的存储后端,如数据库、CI/CD工具和大数据计算平台等。它特别适合需要大规模存储和高速数据访问的云原生应用。

部署

  1. 打开Docker管理器,选择"Compose",点击右上角"新增项目"。

  2. 在创建项目窗口中填写项目名称和选择数据存放路径,然后选择"创建docker-compose.yml",将下列代码根据自己实际情况修改后复制粘贴进去。

    yaml 复制代码
    version: "3.8"
    services:
      minio:
        image: minio/minio:latest  # 建议固定版本
        container_name: MinIO
        ports:
          - "9000:9000"  # 对象存储服务端口
          - "9090:9090"  # 控制台访问端口
        volumes:
          - ./data:/data              # 持久化数据目录
        environment:
          - MINIO_ROOT_USER=admin     # 管理员账号(必改默认值)
          - MINIO_ROOT_PASSWORD=p@ssw0rd  # 强密码要求
        command: server /data --console-address ":9090"  # 指定控制台端口
        restart: always

    勾选"创建项目后立即启动",最后点击"确定"。

  3. 等待构建完成,然后在浏览器中输入IP:Port​访问控制台。

使用

请参照官方文档 MinIO Doc(https://www.minio.org.cn/docs/minio/container/index.html

文章出处:https://blog.uptoz.cn/archives/BhbJI2At

作者原创:@小小笔记大大用处 https://blog.uptoz.cn

相关推荐
chen_note2 小时前
Dockerfile及其部署镜像步骤
docker·容器·镜像·dockerfile
Jy_06223 小时前
K8s中,deployment 是如何从 yaml 文件最终部署成功 pod 的
云原生·容器·kubernetes
mobº3 小时前
K8s 集群环境搭建 - yaml 版本(一)
云原生·容器·kubernetes
终端行者3 小时前
K8s中部署Minio集群 如何部署minio集群
云原生·容器·kubernetes·1024程序员节
OxYGC3 小时前
[RabbitMQ] 最新版本深度解析:4.0+ 新特性、性能飞跃与生产实践(2025 年更新)
分布式·rabbitmq
武子康4 小时前
Java-154 深入浅出 MongoDB 用Java访问 MongoDB 数据库 从环境搭建到CRUD完整示例
java·数据库·分布式·sql·mongodb·性能优化·nosql
杨浦老苏8 小时前
开源云文件存储服务器MyDrive
docker·群晖·网盘
PellyKoo8 小时前
Docker容器中中文文件名显示乱码问题完美解决方案
运维·docker·容器
无妄无望9 小时前
在没有网络的环境下安装包pymysql
学习·docker