MINIO 文件存储服务
简介
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
快速入门
下载
Docker 容器
docker pull minio/minio
docker run -p 9000:9000 minio/minio server /data
macOS
使用 Homebrew安装minio
Copybrew install minio/stable/minio
minio server /data
下载二进制文件
wget https://dl.min.io/server/minio/release/darwin-amd64/minio chmod 755 minio ./minio server /data
GNU/Linux
wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio ./minio server /data
微软Windows系统
下载地址:https://dl.min.io/server/minio/release/windows-amd64/minio.exe
运行
minio.exe server D:\data
运行结果:
注意
运行时留意打印的参数
AccessKey: minioadmin # 注:这里就是用户名
SecretKey: minioadmin # 注:这里求填入密码
使用浏览器进行验证
安装后使用浏览器访问 http://127.0.0.1:9000 如果可以访问,则表示minio已经安装成功。
运行界面:
python 代码示例
from datetime import timedelta from minio import Minio minioClient = Minio( endpoint="127.0.0.1:9000", access_key="minioadmin", secret_key="minioadmin", secure=False, ) # # 创建bucket 不能重复创建 # minioClient.make_bucket("files", location="us-east-1") # 上传文件 etag = minioClient.fput_object( "files", "test.png", r"C:\Users\Spider\Desktop\study\files\location.png" ) print(etag) # 获取下载地址 presignedURL = minioClient.presigned_get_object( "files", "test.png", timedelta(days=7) ) print(presignedURL)
使用docker 运行
下载
docker pull minio/minio
创建本地存储文件夹
# 创建文件下 mkdir /mnt cd /mnt mkdir data mkdir config # 文件夹授权写权限 sudo chmod -R 777 /mnt/data sudo chmod -R 777 /mnt/config
首次运行
sudo docker run -p 9000:9000 --name minio1 \ -e "MINIO_ACCESS_KEY=minioadmin" \ -e "MINIO_SECRET_KEY=minioadmin" \ -v /mnt/data:/data \ -v /mnt/config:/root/.minio \ minio/minio server /data
MINIO_ACCESS_KEY 与 MINIO_SECRET_KEY 为密钥,可修改
停止:
ctrl + c
再次运行
docker container start minio1
停止:
docker container stop minio1