【Docker项目实战】使用Docker部署RustFS分布式对象存储服务
一、RustFS介绍
1.1 RustFS简介
RustFS是一个开源的、与 S3 兼容的高性能分布式对象存储系统,采用 Rust 语言开发,支持与其他 S3 兼容平台(如 MinIO、Ceph)的平滑迁移和共存,适用于大规模数据湖和 AI 场景。
1.2 RustFS主要特点
- 高性能:基于 Rust 语言构建,兼具内存安全与极致性能,显著提升 I/O 效率。
- 分布式架构:采用可扩展、高可用的分布式设计,支持横向扩展与容错。
- S3 兼容性:完全兼容 Amazon S3 API,可无缝对接现有 S3 生态工具和应用。
- 数据湖支持:针对大数据分析和 AI 训练等场景进行优化,支持海量非结构化数据存储。
- 开源开放:遵循 Apache 2.0 开源协议,代码透明,鼓励社区协作与贡献。
- 易用性高:提供简洁的部署和管理接口,降低运维复杂度,提升使用体验。
1.3 注意事项
⚠️ RustFS 目前正处于快速开发阶段,功能和接口可能频繁变动,请勿在生产环境中使用。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。
| hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 | 备注 |
|---|---|---|---|---|---|
| jeven | 192.168.3.88 | Ubuntu 24.04.2 LTS | 28.5.0 | RustFS | —— |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署RustFS分布式对象存储服务。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sat 2025-10-04 13:29:05 UTC; 2 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 888 (dockerd)
Tasks: 65
Memory: 1.2G (peak: 1.4G)
CPU: 3min 23.296s
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4
四、拉取RustFS镜像
下载RustFS容器镜像,镜像名称为:
rustfs/rustfs:latest。
docker pull rustfs/rustfs

五、部署RustFS服务
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/rustfs/{data,logs} && cd /data/rustfs
- 设置目录权限
chmod -R 777 /data/rustfs/
5.2 编辑部署文件
如果使用docker-cli方式部署,可参考以下命令:
docker run -d \
--restart unless-stopped \
--name rustfs \
-p 9000:9000 \
-p 9001:9001 \
-v $(pwd)/data:/data \
-v $(pwd)/logs:/logs \
rustfs/rustfs:latest
新建及编辑docker-compose.yaml文件,内容如下:
vim docker-compose.yaml
version: '3'
services:
rustfs:
image: rustfs/rustfs:latest
container_name: rustfs
restart: unless-stopped
ports:
- "9000:9000"
- "9001:9001"
volumes:
- /data/rustfs/data:/data
- /data/rustfs/logs:/logs
5.3 创建RustFS容器
执行以下命令,创建RustFS容器。
docker compose up -d

5.4 查看RustFS容器状态
检查RustFS容器运行状态,确保RustFS容器正常启动。
root@jeven:/data/rustfs# docker compose ps
WARN[0000] /data/rustfs/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
rustfs rustfs/rustfs:latest "/entrypoint.sh rust…" rustfs 9 seconds ago Up 9 seconds 0.0.0.0:9000-9001->9000-9001/tcp, [::]:9000-9001->9000-9001/tcp
5.5 检查RustFS容器日志
检查容器运行日志,确保RustFS服务正常运行。
docker compose logs

六、访问RustFS服务
6.1访问RustFS初始页
浏览器地址:
http://<个人的服务器IP>:9001,访问RustFS初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

6.2 登录RustFS
- 默认账号: rustfsadmin
- 默认密码:rustfsadmin
填写默认账号密码后,进入到RustFS首页。

七、RustFS基本使用
7.1 创建存储桶
在RustFS首页,点击右上角的“创建存储桶”选项。
自行填写存储桶的名称后,确认创建。


7.2 上传文件
上传本地文件到存储桶,如下所示:


7.3 在线浏览文件
在线浏览刚才创建的文件,效果如下所示:


八、总结
本次实践通过Docker快速部署了RustFS服务,配置过程清晰,容器运行稳定,验证了其良好的可维护性与环境隔离优势。RustFS界面简洁直观,核心功能如存储桶管理、文件上传及在线预览均表现可靠。服务在本地环境中响应迅速,日志输出清晰,便于问题排查与后续运维。其轻量高效的设计为私有化对象存储场景提供了实用的解决方案。
- 点赞
- 收藏
- 关注作者

评论(0)