MinIO是一个开源的基于Apache License 2.0的高性能的对象存储工具。一个非常重要的特性是MinIO兼容Amazon S3的云存储服务接口,对于在Amazon上使用S3存储服务的用户来说非常方便,对于非结构化的数据,包括图片、视频以及虚拟机镜像文件等等都可进行管理,对于管理的对象文件也从KB级别到TB级别均可。
概要信息
Minio的概要信息如下表所示:
项目 | 说明 |
---|
官网 | https://min.io/ |
开源/闭源 | 开源 |
源码管理地址 | https://github.com/minio/minio |
License类别 | Apache License 2.0 |
开发语言 | Go |
操作系统支持 | 跨平台,支持多种操作系统,比如Linux, Mac OS X, FreeBSD, Solaris, and Windows等 |
当前稳定版本 | 2020-10-18T21-54-12Z (2020/10/18) |
CNCF成员
MinIO现在也是CNCF成员,在云原生存储部分和ceph等一起作为目前的解决方案之一。
详细的MinIO的信息如下所示
安装
提供多种安装方式,本文直接使用官方镜像方式进行使用。MinIO之前的图标如下所示
在2016年曾经确认过其主要的功能,详细可参看如下内容:
- https://liumiaocn.blog.csdn.net/article/details/52621099
MacOS: brew方式安装
- 在MacOS上可以使用brew命令进行安装,安装命令如下所示:
执行命令:brew install minio/stable/minio
执行命令:minio server /data
二进制方式安装
- 和其他轻量级的go语言应用一样,MinIO实际上可以下载相应操作系统的二进制文件,设定权限即可启动服务,相应的各个版本的MinIO二进制可执行文件下载路径如下所示:
操作系统 | CPU架构 | 地址 |
---|
Apple macOS | 64-bit Intel | https://dl.min.io/server/minio/release/darwin-amd64/minio |
GNU/Linux | 64-bit Intel | https://dl.min.io/server/minio/release/linux-amd64/minio |
微软Windows系统 | 64位 | https://dl.min.io/server/minio/release/windows-amd64/minio.exe |
源码方式安装
在go安装环境配置就绪的情况下可执行如下命令:
执行命令:go get -u github.com/minio/minio
容器方式安装
MinIO官方镜像的稳定版本和Edge版本的信息如下所示:
版本 | 说明 | 地址 |
---|
稳定版本 | 缺省为MinIO的稳定版本 | minio/minio |
尝鲜版本 | 指定edge即可拉取edge版本 | minio/minio:edge |
启动服务
仅仅只是体验的话可以使用如下命令直接启动MinIO即可。
执行命令:docker run -p 9000:9000 --name minio -e “MINIO_ACCESS_KEY=liumiao” -e “MINIO_SECRET_KEY=password” -v data:/data minio/minio server /data
设定项目 | 说明 |
---|
MINIO_ACCESS_KEY | 设置登陆用户名的环境变量 |
MINIO_SECRET_KEY | 设置登陆用户密码的环境变量 |
9000 | 服务端口 |
server | 启动指定启动服务器端服务 |
data:/data | 指定挂载卷的信息 |
执行命令如下所示:
liumiaocn:~ liumiao$ docker run -p 9000:9000 --name minio -e "MINIO_ACCESS_KEY=liumiao" -e "MINIO_SECRET_KEY=password" -v data:/data minio/minio server /data
Attempting encryption of all config, IAM users and policies on MinIO backend
Endpoint: http://172.17.0.4:9000 http://127.0.0.1:9000Browser Access:http://172.17.0.4:9000 http://127.0.0.1:9000Object API (Amazon S3 compatible):Go: https://docs.min.io/docs/golang-client-quickstart-guideJava: https://docs.min.io/docs/java-client-quickstart-guidePython: https://docs.min.io/docs/python-client-quickstart-guideJavascript: https://docs.min.io/docs/Javascript-client-quickstart-guide.NET: https://docs.min.io/docs/dotnet-client-quickstart-guide
通过浏览器从9000端口访问MinIO服务,可以看到如下登陆页面,输入上述通过环境变量指定的登陆名和密码信息,然后点击登陆按钮
就可以开始使用MinIO了