先上中文手册
https://docs.min.io/cn/

docker镜像
https://hub.docker.com/r/minio/minio/tags

最近一些场景用到了S3,实际用的minio实现的相关功能,今天做个总结。

MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

快速入门

容器方式启动

稳定版

docker pull minio/minio
docker run -p 9000:9000 minio/minio server /data

尝鲜版

docker pull minio/minio:edge
docker run -p 9000:9000 minio/minio:edge server /data

Web UI
http://127.0.0.1:9000
能访问说明成功

Minio客户端mc
MinIO Client Quickstart Guide

Object API (Amazon S3 compatible):
   Go:         https://docs.min.io/docs/golang-client-quickstart-guide
   Java:       https://docs.min.io/docs/java-client-quickstart-guide
   Python:     https://docs.min.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
   .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide

进阶

在Docker中运行MinIO分布式模式

指定USER,MINIO_ACCESS_KEY,MINIO_SECRET_KEY,挂载目录

mkdir -p ${HOME}/data
docker run -p 9000:9000 \
  --user $(id -u):$(id -g) \
  --name minio1 \
  -e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" \
  -e "MINIO_SECRET_KEY=wJalrXUtnFEMIK7MDENGbPxRfiCYEXAMPLEKEY" \
  -v /mnt/data:/data \
  -v /mnt/config:/root/.minio \
  minio/minio server /data

要创建具有永久存储的MinIO容器,您需要将本地持久目录从主机操作系统映射到虚拟配置~/.minio 并导出/data目录。 为此,请运行以上命令

Region

KEY:

region  label the location of the server

ARGS:

name     (string)    name of the location of the server e.g. "us-west-rack2"
comment  (sentence)  optionally add a comment to this setting

or environment variables

KEY:
region  label the location of the server

ARGS:
MINIO_REGION_NAME     (string)    name of the location of the server e.g. "us-west-rack2"
MINIO_REGION_COMMENT  (sentence)  optionally add a comment to this setting
Example:

export MINIO_REGION_NAME="my_region"
minio server /data
或者
-e "MINIO_REGION_NAME=my_region"

minio server /data
在Docker中运行MinIO分布式模式
分布式MinIO可以通过 Docker Compose 或者 Swarm mode进行部署。这两者之间的主要区别是Docker Compose创建了单个主机,多容器部署,而Swarm模式创建了一个多主机,多容器部署。

springboot集成minio

<dependency>
    <groupId>com.jvm123</groupId>
    <artifactId>minio-spring-boot-starter</artifactId>
    <version>1.2.1</version>
</dependency>
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐