使用 podman 容器化安装 RustFS 详细指南

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。

相关推荐
遇码4 小时前
流式调用中途断连别直接报错:瞬态故障识别、退避重试与中文根因诊断的搭建方法
大数据·人工智能·ai·rust·数据分析·大模型·agent
DongQiShanRen4 小时前
六根硬件映射(四):归属澄清、两处不一致与卷十一总表
开发语言·人工智能·算法·rust·哈希算法·集成学习
我不会起名字3226 小时前
Redis 从 0 到 1(九):主库宕机 30 秒自动切主——1 主 2 从 3 哨兵 + Go 客户端
redis·docker·sentinel·高可用·哨兵
姜鱼问生8 小时前
每次开机手动检查 6 样东西?我写了个 2 秒自检脚本
运维·网络·nginx·docker·容器
wangqiaowq8 小时前
PostgresSQL server Docker 安装部署
运维·docker·容器
程序员阿明8 小时前
docker搭建视频流服务go2rtc,webRTC
docker·容器·webrtc
TTATTC9 小时前
让 16 个 AI 员工在飞书群自我协同:基于 OpenClaw 的多 Agent 敏捷 Squad 拓扑与一人公司实操
docker·开源
TTATTC9 小时前
从分片续传到 SPI 插件化扩展:Free-FS 企业级文件系统核心架构与万能预览技术拆解
docker·开源
JavaPub-rodert10 小时前
Docker 容器为什么 stop 半天停不下来?讲透 PID 1、SIGTERM、SIGKILL、僵尸进程与 tini
运维·docker·容器
alwaysrun12 小时前
Web之wasm-pack详解
前端·rust·web·wasm