相信風靡全球的亞馬遜 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"上傳文件,給這個桶上傳了一個文本文檔.
參考:
https://docs.minio.io/docs/minio-docker-quickstart-guide