docker minio部署和應用

2022-01-12 21:58:43 字數 2316 閱讀 1233

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應用...