相信风靡全球的亚马逊 AWS S3 的存储云服务大家已经耳熟能详了,如何自己搭建一个私有的S3存储云服务呢?
Minio 提供对象存储服务,兼容了 AWS S3 存储协议,用于非结构化的数据存。非结构化对象,比如图像,音、视频,日志文件,备份镜像…等等管理不方便,不定长,大小变化大、类型多,云端的访问复杂,minio就是来解决这种场景的。非结构化的文件从数KB到5TB都能很好的支持。开源并且用Go语言开发,有web操作界面,我们可以用它来搭建兼容S3协议的存储云服务。
快速安装:
$ docker run -p 9000:9000 -v /mnt/data:/data -v /mnt/config:/root/.minio minio/minio server /data
Unable to find image 'minio/minio:latest' locally
latest: Pulling from minio/minio
ff3a5c916c92: Already exists
1a0bb058b478: Pull complete
7139056f15b3: Pull complete
Digest: sha256:b1e5dd4a7be831107822243a0675ceb5eabe124356a9815f2519fe02beb3f167
Status: Downloaded newer image for minio/minio:latest
Created minio configuration file successfully at /root/.minio
Endpoint: http://172.30.43.2:9000 http://127.0.0.1:9000
AccessKey: N2VWXDG32OLI9KWPSQWV
SecretKey: grqG4XEZJfuLEk/8BPinrEot8KrvbePEanKPJHOi
Browser Access:
http://172.30.43.2:9000 http://127.0.0.1:9000
Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
$ mc config host add myminio http://172.30.43.2:9000 N2VWXDG32OLI9KWPSQWV grqG4XEZJfuLEk/8BPinrEot8KrvbePEanKPJHOi
Object API (Amazon S3 compatible):
Go: https://docs.minio.io/docs/golang-client-quickstart-guide
Java: https://docs.minio.io/docs/java-client-quickstart-guide
Python: https://docs.minio.io/docs/python-client-quickstart-guide
JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
.NET: https://docs.minio.io/docs/dotnet-client-quickstart-guide
以上我们就成功启动了minio的s3服务,默认端口9000,可以通过网页访问http://localhost:9000
注意:第一次打开时候需要填写AccessKey和SecretKey才能进入,我们上面启动服务的时候,已经看到屏幕有输出了
AccessKey: N2VWXDG32OLI9KWPSQWV
SecretKey: grqG4XEZJfuLEk/8BPinrEot8KrvbePEanKPJHOi
把这两个Key填入,就能顺利进入,进入后展开页面如下
这就是我们的S3云存储的管理页面了,看着是不是和七牛什么的提供云存储的产品页面挺像的,原来大家都是基于S3协议开发的啊。
上传个文件试试。点击右下角的红色小加号按钮,弹出的菜单选择"create bucket"则会创建一个桶,输入名字"disk1",然后再点击刚才那个红色小加号按钮,这次选择"Upload file"上传文件,给这个桶上传了一个文本文档.
参考: