Docker安裝MinIO對象存儲中間件

MinIO 是一個高性能、分布式的對象存儲系統,兼容 Amazon S3 云存儲服務協議,廣泛應用于企業存儲、大數據、機器學習和容器化應用等領域。以下是詳細介紹:

核心特點

  • 兼容 S3 API :全面兼容 Amazon S3 API,這意味著使用 S3 API 的應用程序幾乎無需修改即可與 MinIO 兼容,方便用戶遷移和集成。

  • 高性能 :MinIO 支持分布式架構,可將多個服務器組合成一個存儲池,提供高吞吐量和低延遲的存儲服務,適用于高性能計算和大數據處理場景。

  • 分布式架構 :支持在多個節點上進行分布式存儲,能夠充分利用多臺機器的資源,實現存儲容量和性能的水平擴展。

  • 安全性 :支持多種身份驗證和授權機制,包括 S3 簽名驗證、主動式目錄服務(Active Directory)和輕量級目錄訪問協議(LDAP)等,還支持數據加密、多因素身份驗證等安全功能,確保數據的安全性和隱私性。

  • 易用性 :提供豐富的客戶端工具和管理界面,方便用戶進行存儲操作和管理。同時,其安裝和配置過程簡單,便于快速部署和使用。

搭建過程

環境準備

1、安裝Docker

2、創建維護用戶和存儲目錄

如果不使用Docker的 Rootless部署,可以不創建普通用戶,在docker run啟動時,也無需--user指定運行用戶。

useradd minio && usermod -a -G docker minio
su - minio && mkdir -p ${HOME}/minio/data

啟動MinIO容器

docker run -d --name my-minio \-p 9000:9000 \-p 9001:9001 \--user $(id -u):$(id -g) \quay.io/minio/minio server /data --console-address ":9001"

注意:
1、MinIO默認情況下在隨機端口上運行控制臺,如果您希望選擇特定的端口,
請使用--console-address來選擇特定的接口和端口。
2、不指定用戶名密碼,可以通過docker logs從日志中查看用戶名密碼,默認:minioadmin:minioadmin

其他額外啟動項

指定用戶名密碼

? ?-e "MINIO_ROOT_USER=admin" \
? ?-e "MINIO_ROOT_PASSWORD=PASSWORD" \

配置console語言為中文。

雖并未對console web頁做國際化,仍然顯示英文;但是,部分配置項會以中文展示了。

? ?-e "MINIO_CONSOLE_LOCALE=zh_CN" \

以本地目錄配置存儲持久化

? ?-v ${HOME}/minio/data:/data \

配置https訪問所需的證書目錄

注:這里不指定,默認使用~/.minio/certs目錄下的證書(該目錄下默認為空,即使用http訪問)

? ?-v ${HOME}/minio/certs:/certs \

基本啟動參數

  • docker run -d --name my-minio3 :以分離模式(后臺運行)啟動一個名為 my-minio3 的 Docker 容器。

  • -p 9000:9000 -p 9001:9001 :將宿主機的 9000 端口和 9001 端口分別映射到容器內部的 9000 端口和 9001 端口。9000 用于對象存儲服務,9001 用于 MinIO Console。

  • --user $(id -u):$(id -g) :以當前用戶的用戶 ID 和組 ID 運行容器,確保容器內的文件和目錄權限與宿主機用戶匹配,避免權限問題。

環境變量配置

  • -e "MINIO_ROOT_USER=admin" :設置 MinIO 的根用戶賬號為 admin

  • -e "MINIO_ROOT_PASSWORD=你的密碼" :設置 MinIO 的根用戶密碼。

  • -e "MINIO_CONSOLE_LOCALE=zh_CN" :設置 MinIO Console 的語言為中文(簡體)。

卷掛載

  • -v ${HOME}/minio/data:/data :將宿主機用戶主目錄下的 minio/data 目錄掛載到容器內的 /data 目錄,用于存儲 MinIO 的數據。

  • -v ${HOME}/minio/certs:/certs :將宿主機用戶主目錄下的 minio/certs 目錄掛載到容器內的 /certs 目錄,用于提供 TLS 證書和私鑰。

MinIO 服務配置

  • quay.io/minio/minio server --certs-dir /certs /data --console-address ":9001" :指定使用的 MinIO 鏡像,并配置 MinIO 服務。

    • server :表示以服務器模式運行 MinIO。

    • --certs-dir /certs :指定證書目錄為容器內的 /certs,用于啟用 HTTPS。

    • /data :指定 MinIO 數據存儲目錄為容器內的 /data

    • --console-address ":9001" :設置 MinIO Console 的監聽地址為容器內部的 9001 端口。

最終啟動命令

docker run -d --name my-minio3 \-p 9000:9000 \-p 9001:9001 \--user $(id -u):$(id -g) \-e "MINIO_ROOT_USER=admin" \-e "MINIO_ROOT_PASSWORD=PASSWORD" \-e "MINIO_CONSOLE_LOCALE=zh_CN" \-v ${HOME}/minio/data:/data \-v ${HOME}/minio/certs:/certs \quay.io/minio/minio server --certs-dir /certs /data --console-address ":9001"

如果只啟動S3 API的話,要禁用console,可以如下啟動:

docker run -d --name my-minio2 \-p 9000:9000 \--user $(id -u):$(id -g) \-e "MINIO_BROWSER=off" \-v ${HOME}/minio/data:/data \quay.io/minio/minio server /data

驗證

使用MinIO控制臺進行測試
MinIO服務器帶有一個嵌入式的基于web的對象瀏覽器。
瀏覽器訪問:http://IP:9000

用戶名密碼登錄后

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81904.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81904.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81904.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HTML回顧

html全稱:HyperText Markup Language(超文本標記語言) 注重標簽語義,而不是默認效果 規則 塊級元素包括: marquee、div等 行內元素包括: span、input等 規則1:塊級元素中能寫:行內元素、塊級元素(幾乎什么都能寫) 規則2:行級元素中能寫:行內元素,但不能寫:塊…

JAVA Spring MVC+Mybatis Spring MVC的工作流程*,多表連查

目錄 注解總結 將傳送到客戶端的數據轉成json數據 **描述一下Spring MVC的工作流程** 1。屬性賦值 BeanUtils.copyProperties(addUserDTO,user); 添加依賴: spring web、mybatis framework、mysql driver Controller和ResponseBody優化 直接改成RestControl…

H2數據庫中一條insert語句到生成java對象到數據寫入磁盤的完整步驟

H2 數據庫將 SQL 語句轉換為磁盤存儲的全過程可以分為以下 8 個關鍵步驟,我們以 INSERT INTO users (id, name) VALUES (1, Alice) 為例詳細說明: 1. SQL 解析與語法樹生成 詞法分析:拆分語句為 INSERT、INTO、users 等 Token語法分析&#…

重磅升級!Google Play商店改版上線

5 月 21 日消息,Android Headline 今天(5 月 21 日)發布博文,報道稱在 2025 年 I/O 開發者大會上,谷歌宣布更新 Google Play 應用商店,在優化用戶體驗的同時,提升開發者收益。 本次更新中&…

Docker面試題(1)

什么是Docker 一個容器化平臺 形式是容器 將你的應用程序及所有依賴項打包在一起 確保應用程序在任何環境中無縫運行 什么是Docker鏡像 Docker鏡像是Docker容器的源代碼 用于創建容器 使用build命令創建鏡像 什么是 Docker容器 包括應用程序及所有的依賴項 作為操作系統的獨立進…

Ulisses Braga-Neto《模式識別和機器學習基礎》

模式識別和機器學習基礎 [專著] Fundamentals of pattern recognition and machine learning / (美)烏利塞斯布拉加-內托(Ulisses Braga-Neto)著 ; 潘巍[等]譯 推薦這本書,作者有自己的見解,而且提供代碼。問題是難度高,對于初學…

RabbitMQ的簡介

三個概念 生產者:生產消息的服務消息代理:消息中間件,如RabbitMQ消費者:獲取使用消息的服務 消息隊列到達消費者的兩種形式 隊列(queue):點對點消息通信(point-to-point) 消息進入隊…

自動切換剪貼板路徑中反斜杠為正斜杠

有時候需要將我們常見的win全路徑中反斜杠為正斜杠,每次用記事本,編輯替換非常麻煩,于是寫了這個工具,能自動修改剪貼板中的數據,只需要運行一下即可。 實現效果,將類似于下面的路徑: C:\User…

【時時三省】Python 語言----文件

目錄 1,文件打開 2, 文件關閉 3, 文件寫入 4, 文件讀出 5, 文件定位 6, 文件重命名 7, 復制文件 山不在高,有仙則名。水不在深,有龍則靈。 ----CSDN 時時三省 1,文件打開 file = open(file, mode, buffering, encoding, errors, newline, closefd, opener) 2, 文…

React 個人筆記 Hooks編程

作用 配合函數式編程,保證在不產生類的時候完成一個整體的組件 常用組件 useStateuseContextuseReduceruseEffectuseMemouseCallback 前三個值為自變量 后三者為因變量 前三者相當于其他編程函數的變量聲明,而后三者相當于對變量進行了(if now ! pr…

logits是啥、傅里葉變換

什么是logtis? 在深度學習的上下文中,logits 就是一個向量,下一步通常被投給 softmax/sigmoid 的向量。。 softmax的輸出是分類任務的概率,其輸入是logits層。 logits層通常產生-infinity到 infinity的值,而softmax層…

Adobe Illustrator學習備忘

1.移動畫板:需按住空格鍵加鼠標一塊才能拖動 2.放大縮小畫板:按住Alt鍵加鼠標滾輪 3.撤回:CtrlZ 4.鋼筆練習網站:The Bzier Game

【初識】內網滲透——基礎概念,基本工具使用

目錄 一、域,工作組,域控制器,活動目錄相關概念: 域環境: 工作組: 域控制器DC: 活動目錄AD: 二、內網的基本場景: 三、內網滲透基本測試方案: #案例1一基本信…

remove_const的工作原理及c++的類型推導

author: hjjdebug date: 2025年 05月 21日 星期三 12:51:57 CST descrip: remove_const的工作原理及c的類型推導 文章目錄 1. 簡單的程序代碼.2.std::remove_const_t 到底是怎樣工作的?2.1 測試代碼2.2 類型推導的調試手段.2.2.1 給類模板添加成員函數,讓它打印信息…

人臉識別,使用 deepface + api + flask, 改寫 + 調試

1. 起因, 目的, 感受: github deepface 這個項目寫的很好, 繼續研究使用這個項目,改寫 api。增加一個前端 flask app 2. 先看效果 3. 過程: 大力改寫原始項目中 api 這部分的代碼, 原始項目的文件結構太繁雜了: 我把…

三維表面輪廓儀的維護保養是確保其長期穩定運行的關鍵

三維表面輪廓儀是一種高精度測量設備,用于非接觸式或接觸式測量物體表面的三維形貌、粗糙度、臺階高度、紋理特征等參數。其主要基于光學原理進行測量。它利用激光或其他光源投射到被測物體表面,通過接收反射光或散射光,結合計算機圖像處理技…

Lambda表達式的高級用法

今天來分享下Java的Lambda表達式,以及它的高級用法。 使用它可以提高代碼的簡潔度,使代碼更優雅。 一、什么是lambda表達式 Lambda 表達式是 Java 8 引入的特性,用于簡化匿名內部類的語法,使代碼更簡潔,尤其在處理函…

31-35【動手學深度學習】深度學習硬件

1. CPU和GPU 1.1 CPU CPU每秒鐘計算的浮點運算數為0.15,GPU為12。GPU的顯存很低,16GB(可能32G封頂),CPU可以一直插內存。 左邊是GPU(只能做些很簡單的游戲,視頻處理),中…

【MySQL成神之路】MySQL常見命令匯總

目錄 MySQL常用命令總結 1. 數據庫操作 2. 表操作 3. 數據操作(DML) 4. 索引與優化 5. 用戶與權限管理 6. 備份與恢復 7. 事務控制 8. 常用函數 9. 系統狀態與日志 總結 MySQL常用命令總結 MySQL作為最流行的關系型數據庫之一,提供…

Dify的大語言模型(LLM) AI 應用開發平臺-本地部署

前言 今天閑著,搗鼓一下 Dify 這個開源平臺,在 mac 系統上,本地部署并運行 Dify 平臺,下面記錄個人在本地部署Dify 的過程。 Dify是什么? Dify是一個開源的大語言模型(LLM)應用開發平臺&#…