使用 MinIO 搭建属于自己的对象存储(OSS)
MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。 它是与 Amazon S3 云存储服务兼容的 API。 使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。
官网:https://min.io/
中文官网:http://www.minio.org.cn/
GitHub:https://github.com/minio/
若想搭建分布式的对象存储,可以参考其官方给出的文件编写。官方提供了 docker-compose 和 kubernetes 两种方式。
本教程使用的是 docker-compose 和单机布署的方式,内容参考
docker-compose.yml 文件内容
version: '3'
services:
server:
image: quay.io/minio/minio:RELEASE.2022-03-08T22-28-51Z
command: server --console-address ":9001" /data
environment:
MINIO_ROOT_USER: user
MINIO_ROOT_PASSWORD: password
MINIO_BROWSER_REDIRECT_URL: http://localhost:9001
MINIO_SERVER_URL: http://localhost:9000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
volumes:
- data:/data
ports:
- "9000:9000"
- "9001:9001"
volumes:
data:
environment
环境变量说明请查看 https://docs.min.io/minio/baremetal/reference/minio-server/minio-server.html
注意:
1、 image
可修改为最新的发布版本(根据其官方 GitHub Release 发布页);
2、MINIO_ROOT_USER
和 MINIO_ROOT_PASSWORD
若未配置,则默认账号和密码均为 minioadmin
;
3、 MINIO_BROWSER_REDIRECT_URL
为 Console 管理平台登录网址,若不希望通过浏览器登录,可以增加 MINIO_BROWSER: off
,禁止浏览器登录;
4、MINIO_SERVER_URL
为文件分享网址。若未设置,则默认为本身的容器 IP,不可正常使用。若使用了 nginx 反向代理,则更需要设置此参数;
使用
首先,运行容器。
# 运行容器
docker compose up -d
通过浏览器管理
通过 MinIO Client (mc) 管理
官方命令行教程地址:https://docs.min.io/minio/baremetal/reference/minio-mc.html#command-mc
注意
若使用 nginx 反向代理,则需要在 server 配置一些参数,使之可以上传大文件,可参考其官方仓库文档说明。
# To allow special characters in headers
ignore_invalid_headers off;
# Allow any size file to be uploaded.
# Set to a value such as 1000m; to restrict file size to a specific value
client_max_body_size 0;
# To disable buffering
proxy_buffering off;
proxy_request_buffering off;