使用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版本 | 部署项目 |
| localhost | 192.168.1.192 | CentOS 7 | 26.1.4 | RustFS |

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署RustFS分布式对象存储服务。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

复制代码
[root@localhost ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2026-01-03 15:34:02 CST; 7min ago
     Docs: https://docs.docker.com
 Main PID: 1485 (dockerd)
    Tasks: 30
   Memory: 131.1M
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

复制代码
[root@localhost ~]# docker -v
Docker version 26.1.4, build 5650f9b

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

复制代码
root@localhost:~# 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@localhost:/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界面简洁直观,核心功能如存储桶管理、文件上传及在线预览均表现可靠。服务在本地环境中响应迅速,日志输出清晰,便于问题排查与后续运维。其轻量高效的设计为私有化对象存储场景提供了实用的解决方案。

相关推荐
无限大.7 分钟前
为什么“DevOps“能提高软件开发效率?——从开发到运维的融合
linux·运维·devops
饭九钦vlog8 分钟前
dns形式的floodddos命令
linux·运维·服务器
雪碧聊技术16 分钟前
centos7如何安装redis?
linux·centos·安装redis
旖旎夜光24 分钟前
linux(8)(下)
linux·学习
岳来31 分钟前
docker 容器HostConfig 字段 示例
docker·hostconfig
谢平康1 小时前
通过nfs方式做目录限额方法
linux·服务器·网络
刘一说1 小时前
Windows 与 Linux 跨平台自动化 MySQL 8 备份:专业级脚本设计与实战指南
linux·数据库·windows·mysql·自动化
I · T · LUCKYBOOM1 小时前
2.2yum安装--单服务器托管多网站
linux·运维·服务器
郝学胜-神的一滴1 小时前
线程同步:并行世界的秩序守护者
java·linux·开发语言·c++·程序人生
Linux技术芯1 小时前
浅谈nvme协议版本的发展
linux