RustFS Docker 安装指南 (SNSD)
概述
- RustFS 定义: 一个高性能、100% S3 兼容的开源分布式对象存储系统。
- SNSD 模式: 单节点单磁盘部署模式。其后端不使用纠删码(zero erasure coding),因此没有额外的数据冗余。此模式适合本地测试和小规模应用场景。
- Docker 化: 该文档基于 RustFS 官方的 Linux 二进制包,通过自定义的 Dockerfile 将 RustFS 及其运行时环境打包成容器镜像,并配置数据卷和环境变量,实现一键服务启动。
1. 前提条件 (Prerequisites)
主机要求:
- Docker: 已安装 Docker Engine (版本 ≥ 20.10),并且能够正常拉取镜像和运行容器。
- 数据路径: 主机上存在一个本地路径用于挂载对象数据,例如
/mnt/rustfs/data(或者可以自定义路径)。
网络与防火墙:
- 端口开放: 确保主机上的端口 9000 对外部访问开放 (或者与您自定义的端口保持一致)。这是 RustFS 服务的默认端口。
配置文件准备:
- 虽然 Docker 方式不一定强制使用
/etc/rustfs/config.toml,但文档提及此路径可用于定义监听端口、管理员账户、数据路径等。对于容器化部署,更常用的是环境变量或命令行参数。 - 重要权限说明: RustFS 容器以内置的非 root 用户
rustfs(UID: 10001) 运行。当您使用-v参数将主机目录挂载到容器内部时,请务必确保主机目录的所有者已更改为 UID 10001,否则容器会因权限不足而无法写入数据,导致启动失败或运行异常。
2. 快速拉取 RustFS 官方镜像 (Quick Pull of RustFS Official Image)
docker pull rustfs/rustfs
此命令会从 Docker Hub 拉取最新的 RustFS 官方镜像 (rustfs/rustfs:latest)。
3. 运行 RustFS 容器 (Run RustFS Container)
这是安装的核心步骤。提供了基础运行命令以及多种配置选项。
基础 SNSD Docker 运行方法:
docker run -d \
--name rustfs_local \
-p 9000:9000 \
-p 9001:9001 \
-v /mnt/rustfs/data:/data \
rustfs/rustfs:latest \
/data
参数解释:
-d: 在后台(detached mode)运行容器。--name rustfs_local: 为容器指定一个自定义名称rustfs_local。-p 9000:9000: 将主机的 9000 端口映射到容器的 9000 端口(RustFS 服务端口)。-p 9001:9001: 将主机的 9001 端口映射到容器的 9001 端口(RustFS 控制台端口)。-v /mnt/rustfs/data:/data: 将主机的 目录挂载到容器内的 目录,用于持久化存储对象数据。

