minio是乙個非常輕量的服務,可以很簡單的和其他應用的結合,類似 nodejs, redis 或者 mysql。
前提條件
單點模式
# docker pull minio/minio
# docker run -di -p 9000:9000 --name minio1 \
--restart=always \
-e "minio_access_key=minioadmin123" \
-e "minio_secret_key=minioadmin123" \
-v /mnt/data:/data \
-v /mnt/config:/root/.minio \
-v /etc/localtime:/etc/localtime \
minio/minio:release.2020-05-08t02-40-49z server /data
# firewall-cmd --zone=public --add-port=9000/tcp --permanent //開放埠
# firewall-cmd --reload
docker compose單機多容器# docker-compose pull
# docker-compose up
swarm mode多機多容器
kubernetes多機多容器
未完待續...檔案上傳並設定bucket策略
登入minio browser頁面後,如下圖:
點選頁面加號icon,點選create bucket icon
點選上傳檔案icon
設定檔案策略,在左側bucket上編輯edit policy,設定訪問字首為或者.*,選擇策略為read only/write only/read and write。
mc 客戶端
常用命令
命令解釋
ks列出檔案和資料夾
mb建立乙個儲存桶或乙個資料夾
cat顯示檔案和物件內容
pipe
將乙個stdin重定向到乙個物件或者檔案或者stdout
share
生成用於共享的url
cp拷貝檔案和物件
mirror
給儲存桶和資料夾做映象
find
基於引數查詢檔案
diff
對兩個資料夾或者儲存桶比較差異
rm刪除檔案和物件
events
管理物件通知
watch
監聽檔案和物件的事件
policy
管理訪問策略
session
為cp命令管理儲存的會話
config
管理mc配置檔案
update
檢查軟體更新
version
輸出版本資訊
配置mc命令客戶端並設定bucket策略
# docker pull minio/mc //拉取mc客戶端映象
# docker run -it --entrypoint=/bin/sh minio/mc // 執行
# mc config host add minio2 http://宿主機ip:9000 minioadmin minioadmin --api s3v4
# mc policy set public minio2/testabc //設定訪問許可權
# docker attach 容器id //從新進入容器
運維問題
1、the difference between the request time and the server's time is too large?
原因:linux伺服器時區的問題
解決方案:調整系統時間和硬體時間
# date //檢視系統時間
# hwclock //檢視硬體時間
# yum -y install ntp ntpdate //安裝ntpdate時間同步工具
# ntpdate cn.pool.ntp.org //設定系統時間與網路時間同步
# hwclock --systohc //將系統時間寫入硬體時間
注意事項
1、bucket名稱只包含小寫字元和數字,不能含有特殊字元(_ -)。
使用thin neverblock來部署應用
neverblock出了之後就想試一試,但是跟mongrel配合有點問題,所以還是選擇thin,感覺不錯。url 下完後解壓,打包成gem,然後安裝。thin可以用gem直接安裝 sudo gem install thin thin來啟動rails非常簡單,切換到應用程式目錄,直接用 thin st...
lamp自動部署工具 LAMP平台部署及應用
配置 使用命令 configure prefix usr local php5 with mcrypt with apxs2 usr local httpd bin apx with mysql usr local mysql with config file path usr local php5...
如何使用Docker快速部署go web應用程式
雖然大部分go應用程式可以編譯為乙個單一的二進位制檔案。都是對於web應用程式來說,可能還有自己的模板和配置檔案。如果在乙個專案中包含大量的檔案,可能會因為檔案的不同步而導致出錯或造成更嚴重的錯誤。本文將通過beego應用程式在docker中的快速部署,來介紹如何使用docker簡化go web應用...