目录
[1. 安装并配置awscli](#1. 安装并配置awscli)
[2. 指定自定义端点创建桶](#2. 指定自定义端点创建桶)
[3. 上传本地测试文件验证](#3. 上传本地测试文件验证)
之前陆续聊完了 RustFS 和 MinIO 的各项差异,不管是开源协议约束、GC 带来的性能抖动,还是海量小文件、Iceberg 元数据场景的表现差距,不少朋友看完都问能不能出一篇手把手部署教程,自己搭个本地环境实际测试对比。
刚好借助 Docker 可以做到一行命令启动,不用复杂编译配置,新手也能快速跑通整套服务,并且完整兼容标准 S3 接口,后续不管是对接 Iceberg、DuckDB,还是自用文件备份、本地开发调试都很合适,下面一步步带着大家完整部署。
一、前置环境准备
整个部署依赖 Docker 环境,先确认本机是否已经装好 Docker。
打开终端,输入下面命令校验版本:
bash
docker -v
如果输出版本号,说明环境就绪;如果提示命令不存在,自行安装 Docker Desktop(Windows/Mac)或 Docker Engine(Linux 服务器)即可,网上教程非常多,这里不再赘述。
另外建议预留少量磁盘空间,用来持久化存储上传的文件与元数据,避免容器删除之后数据全部丢失。
二、一键启动RustFS容器(带数据持久化)
最实用的部署方式是挂载本地目录做持久化,避免容器重建数据丢失,直接复制下面整条命令执行,按需修改里面参数即可。
bash
docker run -d \
--name rustfs \
-p 9000:9000 \
-p 9001:9001 \
-v /data/rustfs:/data \
-e RUSTFS_ACCESS_KEY=admin \
-e RUSTFS_SECRET_KEY=Admin@123456 \
rustfs/rustfs:latest
逐行简单解释每个参数含义,方便大家自定义修改:
-
--name rustfs:给容器设置名称,后续启停、查看日志方便识别
-
-p 9000:9000:S3 API 服务端口,外部客户端连接、程序读写对象都走这个端口
-
-p 9001:9001:配套管理控制台网页端口,浏览器访问可视化管理
-
-v /data/rustfs:/data:目录挂载,容器内部数据映射到本机/data/rustfs,Windows系统可以改成类似D:\rustfs-data:/data格式
-
RUSTFS_ACCESS_KEY:访问密钥ID,等同于S3的AK,客户端连接必填
-
RUSTFS_SECRET_KEY:密钥字符串,等同于S3的SK,注意复杂度避免过于简单
-
末尾镜像名:自动拉取官方最新镜像版本
执行完之后,输入查看容器运行状态:
bash
docker ps
列表里能看到 rustfs 容器状态为 Up,就代表服务启动成功。
三、访问Web管理控制台
打开浏览器输入地址:
bash
http://localhost:9001
登录账号就是上面环境变量配置的 AK、SK:
-
Access Key:admin
-
Secret Key:Admin@123456
进入后台之后可以直观创建存储桶、上传/删除文件、查看对象列表、修改基础权限,操作逻辑和 MinIO 控制台高度接近,用过同类产品几乎零学习成本。

四、验证S3接口可用性
RustFS 完整兼容标准 S3 协议,我们可以用 AWS 官方命令行工具 awscli 快速测试连通性。
1. 安装并配置awscli
安装完成后执行配置命令:
bash
aws configure
依次填入内容:
bash
AWS Access Key ID [None]: admin
AWS Secret Access Key [None]: Admin@123456
Default region name [None]: local
Default output format [None]: json
2. 指定自定义端点创建桶
对象存储本地部署需要手动指定 Endpoint 地址,创建测试桶命令:
bash
aws s3api create-bucket --bucket test-bucket --endpoint-url http://127.0.0.1:9000
3. 上传本地测试文件验证
bash
aws s3 cp test.txt s3://test-bucket --endpoint-url http://127.0.0.1:9000
上传完成后,不管用命令行列举对象,还是网页控制台进入桶内查看,都能看到对应文件,说明 S3 服务完全正常可用,后续业务代码基于 S3 SDK 接入没有任何适配门槛。
五、日常常用容器运维命令
日常启停、重启、查看日志整理了几条高频命令,收藏备用即可:
bash
# 停止服务
docker stop rustfs
# 重启服务
docker restart rustfs
# 查看实时运行日志,排查报错用
docker logs -f rustfs
# 删除容器(数据挂载目录不会被删除)
docker rm rustfs
如果需要修改 AK、SK、端口等配置,停止并删除原有容器,重新执行自定义参数的 run 命令启动就行。
六、简单使用场景小结
-
本地开发调试:替代 MinIO 做项目本地 S3 联调,后续迁移线上改动极小;
-
Iceberg、DuckLake 测试环境:快速搭建底层对象存储,验证湖仓读写逻辑;
-
个人小型文件备份:自建轻量化私有存储,不用依赖第三方云存储;
-
对比测试:搭一套 RustFS + 一套 MinIO,借助压测工程自行对比两者实际性能表现。
结合前面几篇选型内容来看,如果后续有私有化交付、海量小文件业务需求,这套部署方式也可以稍加调整适配服务器线上部署,作为长期可用的底层存储底座。
参考资料
1 Docker 安装 RustFS文档: https://docs.rustfs.com/installation/docker/
以下是深入学习 RustFS 的推荐资源:RustFS
官方文档: RustFS 官方文档- 提供架构、安装指南和 API 参考。
GitHub 仓库: GitHub 仓库 - 获取源代码、提交问题或贡献代码。
社区支持: GitHub Discussions- 与开发者交流经验和解决方案。