MinIO 搭建使用


MinIO簡介

MinIO 是一款基於Go語言的高性能對象存儲服務,在Github上已有19K+Star。它采用了Apache License v2.0開源協議,非常適合於存儲大容量非結構化的數據,例如圖片、視頻、日志文件、備份數據和容器/虛擬機鏡像等。 本文將使用 MinIO 來自建一個對象存儲服務用於存儲圖片。

安裝及部署

MinIO的安裝方式有很多,這里我們使用它在Docker環境下的安裝方式。

  • 下載MinIO的Docker鏡像:
docker pull minio/minio
  • 在Docker容器中運行MinIO,這里我們將MiniIO的數據和配置文件夾掛在到宿主機上:
docker run -p 9090:9000 --name minio \ -v /etc/localtime:/etc/localtime \ -v /data/minio/data:/data \ -v /data/minio/config:/root/.minio \ -d minio/minio server /data 
  • 運行成功后,訪問該地址來登錄並使用MinIO,默認Access Key和Secret都是minioadmin:http://localhost:9090

minio

上傳文件及使用

通過使用MinIO的網頁端即可完成文件的上傳下載功能,下面我們以圖片上傳下載為例來演示下該功能。

  • 在存儲文件之前,我們需要新建一個存儲桶:

minio

  • 存儲桶創建完成后,通過上傳按鈕可以上傳文件,這里我們上傳一張圖片:

minio

  • 圖片上傳完成后,我們可以通過拷貝鏈接按鈕來獲取圖片訪問路徑,但是這只是個臨時的訪問路徑:

minio

  • 要想獲取一個永久的訪問路徑,需要修改存儲桶的訪問策略,我們可以點擊存儲桶右上角的編輯策略按鈕來修改訪問策略;

minio

  • 這里有三種訪問策略可以選擇,一種只讀、一種只寫、一種可讀可寫,這里我們選擇只讀即可,但是需要注意的是,訪問前綴需要設置為*.*,否則會無法訪問;

minio

  • 設置完成后,我們只需要通過拷貝鏈接中的前一串路徑即可永久訪問該文件;

MinIO客戶端的使用

雖然MinIO的網頁端管理已經很方便了,但是官網還是給我們提供了基於命令行的客戶端MinIO Client(簡稱mc),下面我們來講講它的使用方法。

常用命令

下面我們先來熟悉下mc的命令,這些命令和Linux中的命令有很多相似之處。

命令 作用
ls 列出文件和文件夾
mb 創建一個存儲桶或一個文件夾
cat 顯示文件和對象內容
pipe 將一個STDIN重定向到一個對象或者文件或者STDOUT
share 生成用於共享的URL
cp 拷貝文件和對象
mirror 給存儲桶和文件夾做鏡像
find 基於參數查找文件
diff 對兩個文件夾或者存儲桶比較差異
rm 刪除文件和對象
events 管理對象通知
watch 監聽文件和對象的事件
policy 管理訪問策略
session 為cp命令管理保存的會話
config 管理mc配置文件
update 檢查軟件更新
version 輸出版本信息

安裝及配置

由於MinIO服務端中並沒有自帶客戶端,所以我們需要安裝配置完客戶端后才能使用,這里以Docker環境下的安裝為例。

  • 下載MinIO Client 的Docker鏡像:
docker pull minio/mc
  • 在Docker容器中運行mc:
docker run -it --entrypoint=/bin/sh minio/mc
  • 運行完成后我們需要進行配置,將我們自己的MinIO服務配置到客戶端上去,配置的格式如下:
mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> <API-SIGNATURE>
  • 對於我們的MinIO服務可以這樣配置:
mc config host add minio http://localhost:9000 minioadmin minioadmin S3v4

常用操作

  • 查看存儲桶和查看存儲桶中存在的文件:
# 查看存儲桶
mc ls minio
# 查看存儲桶中存在的文件 mc ls minio/blog 

minio

  • 創建一個名為test的存儲桶:
mc mb minio/test
  • 共享avatar.png文件的下載路徑:
mc share download minio/blog/avatar.png
  • 查找blog存儲桶中的png文件:
mc find minio/blog --name "*.png"
  • 設置test存儲桶的訪問權限為只讀
# 目前可以設置這四種權限:none, download, upload, public
mc policy set download minio/test/ # 查看存儲桶當前權限 mc policy list minio/test/ 

參考資料

詳細了解MinIO可以參考官方文檔:https://docs.min.io/cn/minio-quickstart-guide.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM