docker部署MinIO對(duì)象存儲(chǔ)的實(shí)踐指南
1.項(xiàng)目介紹
1.1 什么是MinIO?
MinIO是一款高性能的開(kāi)源對(duì)象存儲(chǔ)服務(wù)器,兼容Amazon S3 API,適用于存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)(圖片、視頻、日志、備份等)。它采用分布式架構(gòu)設(shè)計(jì),支持?jǐn)?shù)據(jù)冗余和彈性擴(kuò)展,同時(shí)提供簡(jiǎn)潔的Web管理界面。
官方倉(cāng)庫(kù)介紹: MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license.
本文簡(jiǎn)要介紹單機(jī)模式下的部署及控制臺(tái)功能恢復(fù)
1.2 參考地址
2.部署
我們查看minio幫助
再查看server命令詳細(xì)參數(shù)
我們將上述幫助翻譯成中文
bash-5.1# minio server --help NAME: minio server - 啟動(dòng)物體存儲(chǔ)服務(wù)器 USAGE: minio server [FLAGS] DIR1 [DIR2..] minio server [FLAGS] DIR{1...64} minio server [FLAGS] DIR{1...64} DIR{65...128} DIR: DIR指向文件系統(tǒng)上的一個(gè)目錄。當(dāng)你想要將多個(gè)驅(qū)動(dòng)器組合成一個(gè)大型系統(tǒng)時(shí),每個(gè)文件系統(tǒng)傳遞一個(gè)目錄,并用空格分隔。你也可以使用“...”約定來(lái)縮寫目錄參數(shù)。在分布式設(shè)置中,遠(yuǎn)程目錄被編碼為HTTP(s)URI。 FLAGS: --config value 通過(guò)YAML配置指定服務(wù)器配置 [$MINIO_CONFIG] --address value 綁定到特定的ADDRESS:PORT,ADDRESS可以是IP或主機(jī)名(默認(rèn)值:":9000")[$MINIO_ADDRESS] --console-address value 為嵌入式控制臺(tái)UI綁定特定的ADDRESS:PORT,ADDRESS可以是IP或主機(jī)名 [$MINIO_CONSOLE_ADDRESS] --ftp value 啟用并配置FTP(安全)服務(wù)器 --sftp value 啟用并配置SFTP服務(wù)器 --certs-dir value, -S value 證書目錄的路徑(默認(rèn)值:"/root/.minio/certs") --quiet 禁用啟動(dòng)和信息消息 --anonymous 隱藏日志中的敏感信息 --json 以JSON格式輸出日志 --help, -h 顯示幫助 EXAMPLES: 1. 在"/home/shared"目錄上啟動(dòng)MinIO服務(wù)器。 $ minio server /home/shared 2. 使用64個(gè)本地驅(qū)動(dòng)器"/mnt/data1"到"/mnt/data64"啟動(dòng)單節(jié)點(diǎn)服務(wù)器。 $ minio server /mnt/data{1...64} 3. 在一個(gè)有32個(gè)節(jié)點(diǎn)、每個(gè)節(jié)點(diǎn)有32個(gè)驅(qū)動(dòng)器的分布式環(huán)境中啟動(dòng)MinIO服務(wù)器,在所有節(jié)點(diǎn)上運(yùn)行以下命令: $ minio server http://node{1...32}.example.com/mnt/export{1...32} 4. 在一個(gè)擴(kuò)展的分布式環(huán)境中啟動(dòng)MinIO服務(wù)器,在所有節(jié)點(diǎn)上運(yùn)行以下命令: $ minio server http://node{1...16}.example.com/mnt/export{1...32} \ http://node{17...64}.example.com/mnt/export{1...64} 5. 在所有接口上分別通過(guò)端口8021和8022啟動(dòng)帶有FTP和SFTP服務(wù)器的分布式MinIO服務(wù)器: $ minio server http://node{1...4}.example.com/mnt/export{1...4} \ --ftp="address=:8021" --ftp="passive-port-range=30000-40000" \ --sftp="address=:8022" --sftp="ssh-private-key=${HOME}/.ssh/id_rsa"
2.1 參數(shù)解釋
認(rèn)證參數(shù)(必需)
參數(shù) | 類型 | 說(shuō)明 | 示例 |
---|---|---|---|
MINIO_ROOT_USER | 環(huán)境變量 | 管理員賬號(hào) | -e "MINIO_ROOT_USER=admin" |
MINIO_ROOT_PASSWORD | 環(huán)境變量 | 管理員密碼 | -e "MINIO_ROOT_PASSWORD=Your@Strong!Pass" |
安全建議:密碼長(zhǎng)度≥8位,包含大小寫字母+數(shù)字+特殊符號(hào)
網(wǎng)絡(luò)端口參數(shù)
參數(shù) | 類型 | 說(shuō)明 | 示例 |
---|---|---|---|
--address | 命令行 | API服務(wù)監(jiān)聽(tīng)端口 | server /data --address ":9000" |
--console-address | 命令行 | Web控制臺(tái)端口 | --console-address ":9001" |
MINIO_SERVER_URL | 環(huán)境變量 | 外部訪問(wèn)URL | -e "MINIO_SERVER_URL=https://minio.example.com" |
端口映射示例:docker run -p 9000:9000 -p 9001:9001 ...
存儲(chǔ)參數(shù)
參數(shù) | 類型 | 說(shuō)明 | 示例 |
---|---|---|---|
目錄路徑 | 命令行 | 數(shù)據(jù)存儲(chǔ)位置 | server /data |
MINIO_REGION | 環(huán)境變量 | 存儲(chǔ)區(qū)域名稱 | -e "MINIO_REGION=us-east-1" |
MINIO_DOMAIN | 環(huán)境變量 | 虛擬主機(jī)域名 | -e "MINIO_DOMAIN=storage.example.com" |
多磁盤部署:server /disk1 /disk2 /disk3 /disk4
安全加密參數(shù)
參數(shù) | 類型 | 說(shuō)明 | 示例 |
---|---|---|---|
--certs-dir | 命令行 | SSL證書目錄 | --certs-dir /etc/minio/certs |
性能調(diào)優(yōu)參數(shù)
參數(shù) | 類型 | 說(shuō)明 | 示例 |
---|---|---|---|
MINIO_STORAGE_CLASS_STANDARD | 環(huán)境變量 | 存儲(chǔ)類配置 | -e "MINIO_STORAGE_CLASS_STANDARD=EC:2" |
MINIO_API_REQUESTS_DEADLINE | 環(huán)境變量 | API超時(shí)時(shí)間(秒) | -e "MINIO_API_REQUESTS_DEADLINE=60" |
MINIO_CACHE_DRIVES | 環(huán)境變量 | 緩存磁盤路徑 | -e "MINIO_CACHE_DRIVES=/mnt/cache" |
MINIO_CACHE_EXCLUDE | 環(huán)境變量 | 緩存排除規(guī)則 | -e "MINIO_CACHE_EXCLUDE=*.tmp" |
監(jiān)控診斷參數(shù)
參數(shù) | 類型 | 說(shuō)明 | 示例 |
---|---|---|---|
MINIO_PROMETHEUS_AUTH_TYPE | 環(huán)境變量 | Prometheus認(rèn)證 | -e "MINIO_PROMETHEUS_AUTH_TYPE=public" |
MINIO_AUDIT_WEBHOOK_ENDPOINT | 環(huán)境變量 | 審計(jì)日志地址 | -e "MINIO_AUDIT_WEBHOOK_ENDPOINT=http://logserver" |
MINIO_LOG_QUERY_URL | 環(huán)境變量 | 日志查詢地址 | -e "MINIO_LOG_QUERY_URL=http://loki:3100" |
--quiet | 命令行 | 禁止啟動(dòng)日志 | server /data --quiet |
安全加固參數(shù)
參數(shù) | 類型 | 說(shuō)明 | 示例 |
---|---|---|---|
MINIO_BROWSER | 環(huán)境變量 | 禁用Web控制臺(tái) | -e "MINIO_BROWSER=off" |
MINIO_SERVER_DEBUG | 環(huán)境變量 | 調(diào)試模式 | -e "MINIO_SERVER_DEBUG=on" (臨時(shí)診斷) |
MINIO_ROOT_PASSWORD_HASH | 環(huán)境變量 | 密碼哈希值 | 替代明文密碼(生產(chǎn)推薦) |
MINIO_DISABLE_* | 環(huán)境變量 | 禁用特定功能 | 如MINIO_DISABLE_METRICS=on |
2.2 cli命令部署
根據(jù)上述參數(shù),我們很容易就編寫好cli模式部署的命令
docker run -d \ -p 9000:9000 \ -p 9001:9001 \ --name minio \ -v ~/minio/data:/data \ -e "MINIO_ROOT_USER=minioadmin" \ -e "MINIO_ROOT_PASSWORD=12345678" \ minio/minio server /data --console-address ":9001"
2.3 docker-compose模式部署
創(chuàng)建docker-compse
文件
mkdir minio cd minio mkdir data touch docker-compose.yml vim docker-compose.yml
編寫docker-compose.yml
version: '3.8' services: minio: image: minio/minio container_name: minio_server command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: 12345678 ports: - "9000:9000" # API 端口 - "9001:9001" # Web 控制臺(tái)端口 volumes: - ./data:/data # 使用命名卷 restart: unless-stopped
啟動(dòng)
docker compose up -d
訪問(wèn)控制臺(tái)頁(yè)面http://127.0.0.1:9000
我們可以看到控制臺(tái)功能非常的少,
2.4 通過(guò)歷史版本恢復(fù)控制臺(tái)功能
我們可以通過(guò)minio/minio · Quay進(jìn)行查詢歷史版本
經(jīng)測(cè)試,2025-04-22
版本是最后一個(gè)支持完整控制臺(tái)的版本
docker pull quay.io/minio/minio:RELEASE.2025-04-22T22-12-26Z
如果需要完整控制臺(tái)功能可以安裝該版本,需要在docker run命令中或者docker-compose.yml文件中進(jìn)行版本指定
重新部署,可以看到,控制臺(tái)功能已經(jīng)恢復(fù)。
以上就是docker部署MinIO對(duì)象存儲(chǔ)的實(shí)踐指南的詳細(xì)內(nèi)容,更多關(guān)于docker部署MinIO對(duì)象存儲(chǔ)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Docker?compose部署minio服務(wù)
- Docker部署MinIO對(duì)象存儲(chǔ)服務(wù)器結(jié)合Cpolar實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)的操作方法
- Docker部署Minio的實(shí)現(xiàn)方法
- Docker?部署?Minio?對(duì)象存儲(chǔ)服務(wù)器的過(guò)程詳解
- 單機(jī)docker-compose部署minio過(guò)程
- 通過(guò)docker 部署minio的方法(端口號(hào)為9105)
- Docker部署MinIO鏡像的方法(保姆級(jí)教程)
- Docker快速部署MinIO對(duì)象存儲(chǔ)服務(wù)的最新實(shí)戰(zhàn)指南
相關(guān)文章
docker容器查看所有沒(méi)使用的鏡像并刪除的實(shí)現(xiàn)
本文主要介紹了docker容器查看所有沒(méi)使用的鏡像并刪除的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08Docker 解決獲取容器獲取的時(shí)間不是本地時(shí)間的問(wèn)題
這篇文章主要介紹了Docker 解決獲取容器獲取的時(shí)間不是本地時(shí)間的問(wèn)題的相關(guān)資料,需要的朋友可以參考下2016-11-11Docker容器網(wǎng)絡(luò)地址的創(chuàng)建修改
Docker提供了一個(gè)方便的方式來(lái)配置容器的網(wǎng)絡(luò)地址,在本文中,我們將介紹如何修改Docker容器的網(wǎng)絡(luò)地址,本文主要介紹了Docker容器網(wǎng)絡(luò)地址的創(chuàng)建修改,感興趣的可以了解一下2024-01-01Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | d
這篇文章主要介紹了Docker容器生命周期 | kill和 stop的區(qū)別與聯(lián)系 | docker pause/ unpause,本講內(nèi)容是從?Docker入門到進(jìn)階里面抽離出來(lái)的內(nèi)容,從而使原文更加有序、重點(diǎn)突出,需要的朋友可以參考下2023-08-08CentOS修改docker鏡像存儲(chǔ)位置并進(jìn)行數(shù)據(jù)遷移的操作方法
本文詳細(xì)介紹了在CentOS上修改Docker鏡像存儲(chǔ)位置并進(jìn)行數(shù)據(jù)遷移的步驟,包括停止Docker服務(wù)、創(chuàng)建新的存儲(chǔ)目錄、復(fù)制現(xiàn)有數(shù)據(jù)、修改Docker配置、重啟Docker服務(wù)、驗(yàn)證配置、清理舊數(shù)據(jù)(可選)以及檢查容器和鏡像,感興趣的朋友一起看看吧2025-01-01docker官方鏡像下載及使用Dockerfile創(chuàng)建鏡像的方法
這篇文章主要介紹了docker官方鏡像下載及使用Dockerfile創(chuàng)建鏡像的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02docker mysql鏡像因?yàn)榕渲梦募霈F(xiàn)錯(cuò)誤一直提示重啟的解決
這篇文章主要介紹了docker mysql鏡像因?yàn)榕渲梦募霈F(xiàn)錯(cuò)誤一直提示重啟的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-113分鐘用Docker搭建一個(gè)Minecraft服務(wù)器
這篇文章主要介紹了3分鐘用Docker搭建一個(gè)Minecraft服務(wù)器的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11