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命令进行安装,安装命令如下所示:
执行命令:brew install minio/stable/minio
- 使用如下命令启动服务
执行命令:minio server /data
二进制方式安装- 和其他轻量级的go语言应用一样,MinIO实际上可以下载相应操作系统的二进制文件,设定权限即可启动服务,相应的各个版本的MinIO二进制可执行文件下载路径如下所示:
在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:9000 Browser Access: http://172.17.0.4:9000 http://127.0.0.1:9000 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
通过浏览器从9000端口访问MinIO服务,可以看到如下登陆页面,输入上述通过环境变量指定的登陆名和密码信息,然后点击登陆按钮
就可以开始使用MinIO了