Skip to content

docker compose 搭建

version: '3'
services:
  minio:
    image: "quay.io/minio/minio:RELEASE.2022-08-02T23-59-16Z"
    container_name: minio
    ports:
      - "9000:9000" # api 端口
      - "9001:9001" # 控制台端口
    environment:
      TZ: Asia/Shanghai # 时区上海
      MINIO_ROOT_USER: admin # 管理后台用户名
      MINIO_ROOT_PASSWORD: 123456789 # 管理后台密码,最小8个字符
      MINIO_SERVER_URL: "https://minio.jaspernote.cn" # 指定分享的域名 告诉应用程序或服务,它应该连接到这个指定的URL来访问或存储对象数据
      MINIO_COMPRESS: "off" # 开启压缩 on 开启 off 关闭
      MINIO_COMPRESS_EXTENSIONS: "" # 扩展名 .pdf,.doc 为空 所有类型均压缩
      MINIO_COMPRESS_MIME_TYPES: "" # mime 类型 application/pdf 为空 所有类型均压缩
    volumes:
      - /data/minio/data:/data/ # 映射当前目录下的data目录至容器内/data目录  
      - /data/minio/config:/root/.minio/ # 映射配置目录
    command: server --address ':9000' --console-address ':9001' /data  # 指定容器中的目录 /data
    privileged: true

asd

基本概念

MinIO是一个高性能的对象存储服务,它是基于Apache License v2.0开源协议的。MinIO被设计用来存储非结构化数据,如照片、视频、日志文件、备份和容器/虚拟机映像。其接口兼容Amazon S3(Simple Storage Service)的云存储服务,这使得它可以用在许多需要大规模数据存储的场合。以下是MinIO的一些基本概念:

1. 对象存储

对象存储(Object Storage)是一种用于处理非结构化数据的存储架构,它管理数据作为一个对象,每个对象包含数据、元数据和全局唯一的标识符。MinIO将数据作为对象存储,这意味着可以存储任意大小的数据。

2. 存储桶(Buckets)

存储桶是用于组织存储空间的容器,在MinIO中用于存放对象。每个对象存储在一个存储桶内。存储桶可以被设定为公开或私有访问权限。

3. 对象(Objects)

对象是存储在MinIO中的基本单位,可以是任何形式的文件或数据。每个对象都包含数据和元数据,元数据包括对象的名称、大小、修改日期和其他描述信息。

4. 访问控制

MinIO支持细粒度的访问控制,可以为不同的用户和服务定义不同的访问权限。这包括对存储桶和对象的读写权限控制。

5. S3兼容API

MinIO提供了与Amazon S3兼容的API,这意味着可以使用S3的SDK和工具来与MinIO进行交互。这种兼容性使得MinIO可以轻松地集成到已经使用S3作为存储解决方案的应用程序中。

6. 分布式架构

MinIO可以配置为分布式模式,这允许它跨多台服务器分散存储数据,从而提高了容错能力和扩展性。分布式MinIO可以通过增加节点来水平扩展,以支持更大规模的存储需求。

7. 多租户支持

MinIO支持多租户环境,允许多个用户或组织在同一个MinIO实例上隔离地存储和管理数据。这通过使用前缀、存储桶策略和命名空间来实现数据的逻辑隔离。

MinIO以其高性能、简易部署、S3兼容性以及支持私有部署的特性,在企业和云原生环境中得到了广泛的应用。