当前位置:首页 > 系统教程 > 正文

手把手教你用Docker部署RustFS:3步搭建S3兼容存储(CentOS/Ubuntu通用,附避坑指南)

手把手教你用Docker部署RustFS:3步搭建S3兼容存储(CentOS/Ubuntu通用,附避坑指南)

对象存储已成为现代应用的基础设施,而RustFS作为一款高性能、轻量级的S3兼容存储,结合Docker部署的便捷性,让你能快速在本地或服务器上搭建私有的、兼容AWS S3协议的存储服务。本文完全面向小白,无论你用的是CentOS还是Ubuntu,只需3个步骤,附赠避坑指南,轻松搞定!

手把手教你用Docker部署RustFS:3步搭建S3兼容存储(CentOS/Ubuntu通用,附避坑指南) RustFS  Docker部署 S3兼容存储 对象存储 第1张

📦 准备工作:安装Docker环境

无论你使用CentOS还是Ubuntu,Docker的安装方式略有不同,但最终效果一致。执行前请确保你的用户具有sudo权限。

  • CentOSsudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && sudo yum install -y docker-ce docker-ce-cli containerd.io
  • Ubuntusudo apt update && sudo apt install -y ca-certificates curl && sudo install -m 0755 -d /etc/apt/keyrings && sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io

安装后启动Docker并设置开机自启:sudo systemctl start docker && sudo systemctl enable docker。验证安装:docker --version

🚀 第一步:拉取RustFS镜像

RustFS官方镜像托管在Docker Hub,直接使用docker pull命令获取最新版本:

docker pull rustfs/rustfs:latest

耐心等待下载完成。若网络缓慢,可配置Docker镜像加速器(如阿里云、中科大源)。

⚙️ 第二步:运行RustFS容器

创建本地数据目录用于持久化存储,并启动容器。以下命令创建/data/rustfs作为存储路径,映射容器9000端口(S3 API)和9001端口(控制台)。

mkdir -p /data/rustfsdocker run -d \n  --name rustfs-server \n  -p 9000:9000 \n  -p 9001:9001 \n  -v /data/rustfs:/data \n  -e RUSTFS_ROOT_USER=admin \n  -e RUSTFS_ROOT_PASSWORD=admin123 \n  -e RUSTFS_DOMAIN=localhost \n  rustfs/rustfs:latest

参数说明:-d后台运行,-p端口映射,-v数据卷挂载,-e设置环境变量(根用户、密码、访问域名)。可根据需要修改。

查看容器运行状态:docker ps,看到rustfs-server即表示成功。

✅ 第三步:验证S3兼容存储

使用AWS CLI或MinIO Client(mc)测试连接。安装AWS CLI:

pip install awscli  # 或用包管理器安装

配置访问密钥:

aws configure set aws_access_key_id adminaws configure set aws_secret_access_key admin123aws configure set default.region us-east-1

列出存储桶:aws --endpoint-url http://localhost:9000 s3 ls,首次无桶,创建新桶:aws --endpoint-url http://localhost:9000 s3 mb s3://my-first-bucket,上传文件测试:aws --endpoint-url http://localhost:9000 s3 cp /etc/passwd s3://my-first-bucket/。一切正常,则RustFS已完美运行!

🚧 避坑指南(必看)

  • 防火墙/安全组:云服务器需开放9000和9001端口,否则外部无法访问。CentOS使用firewall-cmd,Ubuntu使用ufw放行端口。
  • S3签名版本:RustFS默认使用Signature V4,老版本客户端可能使用V2,需在客户端指定--signature-version s3v4
  • 数据持久化:务必使用-v挂载宿主机目录,否则容器删除后数据丢失。
  • 域名解析:如果使用自定义域名,需在环境变量RUSTFS_DOMAIN中配置,并在DNS解析中添加记录。
  • 权限问题:挂载的目录权限不足会导致容器无法写入,可使用chmod 777 /data/rustfs临时解决,或运行容器时指定用户ID。
  • Docker资源限制:生产环境建议限制容器内存/CPU,避免耗尽主机资源。

📚 总结

通过以上三步,你已经成功用Docker部署了RustFS——一个兼容S3协议的高性能对象存储服务。整个过程无需编译源码,无需复杂配置,适用于CentOS和Ubuntu。现在你可以将它用于开发测试、备份存储,甚至作为小型生产环境的存储后端。如果遇到问题,回顾避坑指南,或查阅RustFS官方文档。祝你部署顺利!

关键词:RustFS · Docker部署 · S3兼容存储 · 对象存储