RustFS:世界上增长最快的分布式对象存储,Docker快速部署教程
目录
四、方式二:Docker Compose 生产化部署(推荐)
前言
MinIO 闭源之后,开源对象存储领域迎来了一匹现象级黑马——RustFS。根据 GitHub 最新数据,RustFS 星标已突破 2.3万+,季度增长超 300%,被业内评为 “世界上增长最快的分布式对象存储”。
作为一款100% Rust 编写、Apache 2.0 开源、完全兼容 S3 协议的高性能对象存储系统,RustFS 不仅解决了 MinIO 闭源带来的商用风险,更在性能上实现碾压:4KB 对象读写比 MinIO 快 2.3 倍,IOPS 高出 40%,同时内存安全、无 GC 停顿、资源占用极低。
今天,我将结合 RustFS 官网最新信息,带来一篇保姆级 Docker 部署教程。从环境准备、单节点快速启动、Docker Compose 生产化配置,到 Web 控制台验证、mc 客户端对接、生产环境优化,全程图文并茂、命令可直接复制,新手也能 5 分钟跑起来。
一、RustFS 是什么?为什么选它?(官方核心亮点)
先看 RustFS 官网(rustfs.com)给出的定位:


RustFS:Instantly replace MinIO & S3. Zero GC, maximum throughput.
无缝替换 MinIO 与 S3。零 GC,极致吞吐。
高性能、企业级、分布式对象存储,专为 AI/大数据/云原生设计,支持 TB~EB 级弹性扩展。
核心优势(官方+实测)
-
性能怪兽
-
4KB 小文件:比 MinIO 快 2.3x,IOPS 高 40%
-
零 GC、低延迟、高并发,适合 AI 训练、大数据湖
-
-
100% S3 兼容
-
直接替换 MinIO/Ceph,业务代码零修改
-
兼容 mc、s3cmd、AWS SDK、MinIO SDK 全生态
-
-
安全 & 开源友好
-
Apache 2.0 协议:无 AGPL 商用风险,可随意二次开发
-
Rust 内存安全:杜绝空指针、溢出、段错误等 C 族通病
-
内置加密(RustyVault)、WORM、版本控制、IAM 权限
-
-
轻量 & 云原生
-
二进制仅 ~90MB,容器镜像小、启动快
-
原生支持 Docker、K8s、Operator、Helm Chart
-
-
增长最快
-
GitHub Star:23940+,日增数百,社区活跃度断层领先
-
全球装机量已突破60万+
-
二、部署前准备(Docker 环境检查)
1. 系统要求
-
Linux(CentOS 7+/Ubuntu 18.04+,推荐)
-
Docker 20.10+
-
空闲内存 ≥ 512MB(测试);≥ 2GB(生产)
-
磁盘:建议 SSD/NVMe(性能翻倍)
2. 安装/检查 Docker
# 查看 Docker 版本
docker -v
# 查看 Docker 状态
systemctl status docker
# 未安装则一键安装(Ubuntu/CentOS 通用)
curl -fsSL https://get.docker.com | bash
systemctl start docker && systemctl enable docker
3. 开放端口(防火墙/安全组)
-
9000:S3 API 端口(必须)
-
9001:Web 控制台端口(推荐)
三、方式一:Docker 单条命令极速部署(新手首选)
1. 拉取官方最新镜像
RustFS 官方 Docker 镜像:rustfs/rustfs:latest
# 官方镜像(全球)
docker pull rustfs/rustfs:latest
# 国内加速(可选,速度更快)
docker pull registry.cn-hangzhou.aliyuncs.com/rustfs/rustfs:latest
2. 启动 RustFS 容器(核心命令)
命令解释:
-
后台运行(-d)
-
端口映射:9000(API)、9001(控制台)
-
数据持久化:/data 挂载到本地目录(防止容器删除丢数据)
-
环境变量设置:账号、密码、开启控制台
# 创建本地数据目录(必须)
mkdir -p /opt/rustfs/data && chmod 777 /opt/rustfs/data
# 启动命令(直接复制运行)
docker run -d \
--name rustfs \
--restart=always \
-p 9000:9000 \
-p 9001:9001 \
-v /opt/rustfs/data:/data \
-e RUSTFS_ACCESS_KEY=rustfsadmin \
-e RUSTFS_SECRET_KEY=rustfsadmin \
-e RUSTFS_CONSOLE_ENABLE=true \
-e RUSTFS_CONSOLE_ADDRESS=:9001 \
rustfs/rustfs:latest
默认账号密码:rustfsadmin / rustfsadmin(生产环境务必修改!)
3. 验证容器运行状态
# 查看容器
docker ps
# 查看日志(实时)
docker logs -f rustfs
出现如下日志即成功:
RustFS v1.0.0-alpha.87 started successfully
S3 API: http://0.0.0.0:9000
Web Console: http://0.0.0.0:9001
四、方式二:Docker Compose 生产化部署(推荐)
单条命令适合测试;生产环境强烈建议用 Docker Compose,便于配置管理、扩缩容、健康检查。
1. 创建目录与 docker-compose.yml
# 创建工作目录
mkdir -p /opt/rustfs/{data,config,logs}
cd /opt/rustfs
# 创建 docker-compose.yml
vim docker-compose.yml
2. 编写 Compose 文件(官方标准模板)
version: '3.8'
services:
rustfs:
image: rustfs/rustfs:latest
container_name: rustfs
restart: always
ports:
- "9000:9000" # S3 API
- "9001:9001" # Web Console
volumes:
- ./data:/data # 数据持久化
- ./logs:/var/log/rustfs# 日志持久化
environment:
- TZ=Asia/Shanghai
- RUSTFS_ADDRESS=0.0.0.0:9000
- RUSTFS_CONSOLE_ENABLE=true
- RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001
- RUSTFS_ACCESS_KEY=rustfsadmin # 生产改强密码
- RUSTFS_SECRET_KEY=rustfsadmin123!@# # 生产改强密码
- RUSTFS_VOLUMES=/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 10s
retries: 3
3. 一键启动/停止
# 后台启动
docker-compose up -d
# 查看状态
docker-compose ps
# 查看日志
docker-compose logs -f
# 停止(不删数据)
docker-compose stop
# 彻底删除(数据保留在 ./data)
docker-compose down
五、Web 控制台验证(图文)
1. 访问控制台
浏览器打开:
http://你的服务器IP:9001
2. 登录
-
Access Key:rustfsadmin
-
Secret Key:rustfsadmin(或你自定义的密码)
3. 功能一览(官方特性)
-
创建/删除 Bucket
-
文件上传/下载/分享/版本管理
-
IAM 用户、策略、密钥管理
-
监控:带宽、请求数、存储用量
-
生命周期、跨域、桶策略配置
六、使用 mc 客户端对接(S3 生态验证)
RustFS 完全兼容 MinIO 客户端 mc,可直接管理:
1. 安装 mc
curl https://dl.min.io/client/mc/release/linux-amd64/mc -o /usr/local/bin/mc
chmod +x /usr/local/bin/mc
2. 添加 RustFS 主机
# 添加主机(别名:rustfs)
mc config host add rustfs http://你的IP:9000 rustfsadmin rustfsadmin
# 查看主机列表
mc config host ls
3. 常用操作(实战)
# 1. 创建桶
mc mb rustfs/test-bucket
# 2. 上传文件
mc cp demo.txt rustfs/test-bucket/
# 3. 查看文件
mc ls rustfs/test-bucket/
# 4. 下载文件
mc cp rustfs/test-bucket/demo.txt ./demo2.txt
# 5. 统计数据
mc du rustfs/test-bucket
七、生产环境部署优化(必看)
1. 账号密码(严禁默认)
# docker-compose.yml 必须修改
RUSTFS_ACCESS_KEY=admin_2026
RUSTFS_SECRET_KEY=7s9#kP2$qR5!zX3&bV6
2. 数据目录权限
# 生产建议用独立用户
chown -R 1000:1000 /opt/rustfs/data
3. 性能优化(SSD/NVMe)
# 挂载 SSD 到 /opt/rustfs/data
# 启用 noatime
echo '/dev/sdb1 /opt/rustfs/data ext4 noatime,nodiratime,defaults 0 0' >> /etc/fstab
mount -a
4. 日志轮转
# /etc/logrotate.d/rustfs
/opt/rustfs/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
5. 安全建议
-
不要对外暴露 9001(用 Nginx/Cloudflare 代理+认证)
-
启用 TLS/HTTPS(官方文档支持)
-
防火墙只放行 9000 给业务 IP
-
定期备份 /opt/rustfs/data
八、常见问题 & 避坑指南
-
端口冲突
-
报错:bind 0.0.0.0:9000 failed
-
解决:lsof -i:9000 杀进程,或换端口 -p 9002:9000
-
-
权限拒绝(Permission denied)
-
解决:chmod 777 /opt/rustfs/data 或指定用户 user: 1000:1000
-
-
控制台无法访问
-
检查:RUSTFS_CONSOLE_ENABLE=true 是否已加
-
检查防火墙/安全组是否开放 9001
-
-
数据丢失
-
必须挂载 -v 本地目录:/data,不要不挂载数据卷!
-
九、总结与后续
RustFS 凭借 Rust 性能+S3 兼容+Apache 2.0 开源+极速增长,已成为 MinIO 闭源后最稳妥、最主流的替代方案。Docker 部署仅需 5 分钟,即可拥有企业级对象存储服务。
下一步建议:
-
测试环境跑通本文教程
-
生产环境用 Docker Compose + 强密码 + SSD + 备份
-
关注 RustFS GitHub:https://github.com/rustfs/rustfs(2.3万 Star)
-
后续我会更新:K8s 部署、性能压测、MinIO 迁移、分布式集群 实战
以下是深入学习 RustFS 的推荐资源:RustFS
官方文档: RustFS 官方文档- 提供架构、安装指南和 API 参考。
GitHub 仓库: GitHub 仓库 - 获取源代码、提交问题或贡献代码。
社区支持: GitHub Discussions- 与开发者交流经验和解决方案。

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)