Docker 部署 MinIO 全指南
1. MinIO 簡介
?? 什么是 MinIO?
MinIO 是一個輕量級、高性能、開源的對象存儲服務,專為云原生應用設計。
它支持 S3 API,可直接與 AWS SDK、Rclone、Nextcloud、Backup 工具等集成。
?? 核心特點
- 兼容 S3 API:可直接替代 Amazon S3。
- 極高性能:單節點可輕松達到百 Gbps 吞吐。
- 輕量部署:單個二進制或容器即可運行。
- 水平擴展:支持分布式多節點集群。
- 完備安全機制:支持訪問密鑰、HTTPS、策略控制。
?? 典型應用場景
| 場景 | 示例 | 適用人群 |
|---|---|---|
| 文件/圖片存儲 | Web/APP 上傳、CDN 資源 | 新手/中級 |
| 備份與歸檔 | 數據庫備份、日志歸檔 | 開發者/運維 |
| AI / 大數據 | 模型、訓練集存儲 | 高級工程師 |
2. 部署前準備
2.1 硬件要求
| 資源 | 開發環境(練手) | 生產環境(業務使用) | 說明 |
|---|---|---|---|
| CPU | ≥ 2 核 | ≥ 4 核 | 生產建議更高 |
| 內存 | ≥ 4 GB | ≥ 8 GB | MinIO 對內存性能敏感 |
| 磁盤 | ≥ 20 GB | ≥ 100 GB (SSD) | 生產建議使用 SSD |
2.2 軟件要求
-
Docker:≥ 24.0.0
檢查版本:docker --version -
Docker Compose:≥ v2.26.1
檢查版本:docker compose version
如未安裝,可使用軒轅一鍵安裝腳本:
?? https://xuanyuan.cloud/install/linux
執行一鍵安裝命令
登錄 Linux 服務器,直接復制粘貼下面的命令,回車執行:
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)
2.3 網絡與安全提示
-
默認端口:
- Web 控制臺:
9001 - API 服務:
9000
- Web 控制臺:
-
?? 生產環境請勿暴露公網端口!
建議反向代理或啟用 TLS 加密訪問。 -
國內環境推薦使用軒轅鏡像加速源。
3. 下載 MinIO 鏡像
3.1 使用軒轅鏡像(推薦)
# 拉取最新穩定版 MinIO 鏡像
docker pull xxx.xuanyuan.run/minio/minio:latest
# (可選)改名為官方鏡像名
docker tag xxx.xuanyuan.run/minio/minio:latest minio/minio:latest
# 刪除臨時標簽,節省空間
docker rmi xxx.xuanyuan.run/minio/minio:latest
3.2 使用官方源(備用,如果可用)
docker pull minio/minio:latest
3.3 驗證鏡像下載
docker images | grep minio
示例輸出:
REPOSITORY TAG IMAGE ID CREATED SIZE
minio/minio latest e8b734f7b8aa 6 days ago 250MB
4. 快速部署(單節點版)
MinIO 單節點非常適合開發測試或小型項目。
4.1 docker run 一鍵啟動
docker run -d \
--name minio-server \ # 容器名稱
-p 9000:9000 \ # API 端口
-p 9001:9001 \ # 控制臺端口
-e MINIO_ROOT_USER=admin \ # 管理員用戶名
-e MINIO_ROOT_PASSWORD=YourStrongPwd2024! \ # 管理員密碼(務必強密碼)
-v minio-data:/data \ # 數據持久化卷
--restart unless-stopped \ # 自動重啟
minio/minio server /data --console-address ":9001"
參數說明
| 參數 | 作用 |
|---|---|
-e MINIO_ROOT_USER |
設置登錄用戶名 |
-e MINIO_ROOT_PASSWORD |
登錄密碼(≥8位) |
-v minio-data:/data |
持久化存儲數據 |
--console-address ":9001" |
控制臺端口 |
--restart unless-stopped |
自動重啟策略 |
4.2 使用 Docker Compose 部署(推薦)
創建 docker-compose.yml
version: "3.8"
services:
minio:
image: xxx.xuanyuan.run/minio/minio:latest
container_name: minio-server
environment:
- MINIO_ROOT_USER=admin
- MINIO_ROOT_PASSWORD=YourStrongPwd2024!
volumes:
- minio-data:/data
ports:
- "9000:9000"
- "9001:9001"
command: server /data --console-address ":9001"
restart: unless-stopped
volumes:
minio-data:
啟動服務
docker compose up -d
查看狀態
docker ps | grep minio
若狀態為 Up,說明服務已啟動。
5. 驗證與訪問
5.1 打開 Web 控制臺
瀏覽器訪問:
輸入你設置的:
- 用戶名:
admin - 密碼:
YourStrongPwd2024!
進入后即可上傳、管理文件。
5.2 使用命令行連接(mc 客戶端)
安裝 MinIO 客戶端(mc):
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
配置連接:
mc alias set local http://localhost:9000 admin YourStrongPwd2024!
驗證連接:
mc ls local
6. 創建存儲桶與上傳文件
# 創建桶
mc mb local/mybucket
# 上傳文件
mc cp ./test.jpg local/mybucket/
# 查看文件
mc ls local/mybucket/
訪問方式:
http://localhost:9000/mybucket/test.jpg
7. 生產環境部署建議
| 項目 | 推薦做法 |
|---|---|
| ?? 數據持久化 | 掛載到本地磁盤或 NAS |
| ?? 安全訪問 | 啟用 HTTPS (證書路徑: /root/.minio/certs/) |
| ?? 用戶權限 | 使用 Access Key / Secret Key 控制訪問 |
| ?? 高可用 | 使用 MinIO 分布式部署(見下節) |
8. 高可用部署(分布式 MinIO)
8.1 基本結構
4 個節點(最小推薦數量):
node1:/data1 node2:/data2 node3:/data3 node4:/data4
8.2 啟動命令示例(單機模擬4節點)
docker run -d --name minio-distributed \
-p 9000:9000 -p 9001:9001 \
-v /mnt/data1:/data1 -v /mnt/data2:/data2 \
-v /mnt/data3:/data3 -v /mnt/data4:/data4 \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=YourStrongPwd2024! \
minio/minio server /data{1...4} --console-address ":9001"
這樣 MinIO 就會自動啟用分布式模式,實現冗余和高可用。
9. 備份與恢復
9.1 備份數據
mc mirror local/mybucket /backup/mybucket
9.2 恢復數據
mc mirror /backup/mybucket local/mybucket
生產環境可用 crontab 定時執行備份任務。
10. 常見問題排查
| 問題 | 可能原因 | 解決方案 |
|---|---|---|
| 無法訪問 9000/9001 | 防火墻攔截 | 關閉或放行端口 |
| 登錄失敗 | 密碼錯誤或未設置 | 檢查 MINIO_ROOT_USER/PASSWORD |
| 上傳報錯 “permission denied” | 權限不足 | 檢查宿主機掛載目錄權限 |
| 容器重啟后數據丟失 | 未掛載卷 | 使用 -v minio-data:/data |
11. 參考文檔
-
進階功能:
- 啟用版本控制(object versioning)
- 集成外部存儲(NAS、Ceph、S3)
- 部署在 Kubernetes (Helm Chart)
? 總結
| 目標 | 操作 |
|---|---|
| ?? 快速上手 | docker run ... |
| ?? 穩定部署 | 用 Docker Compose |
| ?? 擴展場景 | 分布式 + HTTPS + Access Key |
| ?? 備份保障 | mc mirror 定期備份 |
到這里,你已經能獨立部署一個完整可用的 MinIO 服務。
無論是自用、開發、還是生產環境,都能滿足穩定與高性能需求。

MinIO 是一款高性能對象存儲系統,完全兼容 Amazon S3 協議。你可以把它理解為「自建版的私有云存儲」——可存放圖片、視頻、備份文件、日志等。
浙公網安備 33010602011771號