先上中文手冊
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模式創建了一個多主機,多容器部署。