概述
Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。Minio兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。
Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。
对于一般的用户来说,快速低成本地架设文件服务器,MINIO无疑是最好的选择
安装部署
Minio的部署非常简单,官方也推荐使用docker进行部署,这是最快速的方案,首先我们在docker-hub上搜索,打开https://hub.docker.com/,搜索minio/minio就可以找到镜像,使用docker pull minio/minio命令进行拉取
docker pull minio/minio
特别说明
由于我们多数人都使用了云服务器,访问上会受安全组的影响,所以我们要弄清一个概念,minio分一共有两个端口,一个是api端口,一个是控制台端口。
1、api端口是9000,但是我们如果安装了PHP的话已经占用了这个端口,所以我们必须使用docker的端口映射,如果想更改默认端口,请使用–address :9001参数
--address :9001
2、控制台端口是随机的,为了方便管理,可以使用–console-address参数进行设定
3、系统如果不设定,默认的鉴权账号和密码会是默认的minioadmin,会有安全隐患
4、如果不进行本地持久化设定,docker容器一关闭文件就会丢失
综合以上情况,我们最后的启动命令为
docker run --restart=on-failure:5 -d -p 8899:9000 -p 9002:9002 --name minio1 \
-e "MINIO_ACCESS_KEY=你的KEY" \
-e "MINIO_SECRET_KEY=你的加密密钥" \
-v /mnt/data:/data \
-v /mnt/config:/root/.minio \
--privileged