前言

本教程基于飞牛系统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”,将下列代码根据自己实际情况修改后复制粘贴进去。

    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