RustFS 支持容器化部署模式,可以用 docker run 命令或 docker compose 来快速安装一个 RustFS 实例。由于 podman 也是一个可以对容器进行管理的工具,大多数情况下是可以兼容 docker 命令的。因此,也可以用 podman 对 RustFS 进行容器化安装。本文分享两种安装方式。
安装前提
- podman 环境,本文所需的 podman 环境信息如下
# podman 版本
podman --version
# podman-compose 版本
podman-compose --version
podman-compose version: 1.0.6
['podman', '--version', '']
using podman version: 4.9.3
podman-compose version 1.0.6
podman --version
podman version 4.9.3
exit code: 0
安装方式
可以使用 podman run 或 podman compose 进行安装。
podman run 安装
使用如下命令即可:
podman run -d -p 9000:9000 -p 9001:9001 \
-v $(pwd)/data:/data -v $(pwd)/logs:/logs \
docker.io/rustfs/rustfs:latest
注意,需要把
data、logs目录的权限改成 10001,因为 RustFS 是非 root 用户运行,不修改权限,会导致权限问题。
查看容器状态:
podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
593c5bffbce9 docker.io/rustfs/rustfs:latest rustfs 21 hours ago Up 21 hours 0.0.0.0:9000-9001->9000-9001/tcp exciting_herschel
podman compose 安装
将如下内容写入 podman-compose.yml 文件:
services:
rustfs:
image: docker.io/dllhb/disk-cap:0.0.1
container_name: rustfs
hostname: rustfs
environment:
- RUSTFS_VOLUMES=/data/rustfs{1...4}
- RUSTFS_ADDRESS=0.0.0.0:9000
- RUSTFS_CONSOLE_ENABLE=true
- RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001
- RUSTFS_ACCESS_KEY=rustfsadmin
- RUSTFS_SECRET_KEY=rustfsadmin
- RUST_LOG=warn
ports:
- "9000:9000" # API endpoint
- "9001:9001" # Console
volumes:
- ./data1:/data/rustfs1
- ./data2:/data/rustfs2
- ./data3:/data/rustfs3
- ./data4:/data/rustfs4
networks:
- rustfs
networks:
rustfs:
driver: bridge
name: rustfs
接着执行:
podman compose up -d
查看容器状态:
podman compose ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f6496b7856f3 docker.io/dllhb/disk-cap:0.0.1 /usr/bin/rustfs About a minute ago Up About a minute 0.0.0.0:9000-9001->9000-9001/tcp rustfs
注意,需要把
data*目录的权限改成 10001,因为 RustFS 是非 root 用户运行,不修改权限,会导致权限问题。
使用 RustFS
不管用哪种方式,当 RustFS 运行正常后,就可以通过 http://IP:9001 的方式登录 RustFS,默认用户名和密码都是 rustfsadmin/rustfsadmin。