dxflrs/garageGarage 是一个 S3 兼容的分布式对象存储服务,专为中小型自托管环境设计,特别适用于地理分布式部署场景。其核心目标是提供轻量级、易操作且高可用的对象存储解决方案,支持跨不同物理位置的节点组成存储集群,实现数据冗余与故障 resilience。
s3cmd、rclone)及应用集成。创建 garage.toml 配置文件(单节点最小配置示例):
tomlmetadata_dir = "/data/meta" data_dir = "/data/data" rpc_bind_addr = "0.0.0.0:3901" api_bind_addr = "0.0.0.0:3900" s3_api_bind_addr = "0.0.0.0:9000" s3_website_bind_addr = "0.0.0.0:9001" [cluster] id = "garage-test-cluster"
bashdocker run -d \ --name garage-node \ -p 9000:9000 \ # S3 API 端口 -p 3900:3900 \ # 管理 API 端口 -v /path/to/local/data:/data \ # 持久化数据目录(需替换为本地路径) -v /path/to/garage.toml:/etc/garage.toml \ # 挂载配置文件 deuxfleurs/garage \ server -c /etc/garage.toml
docker-compose.ymlyamlversion: "3.8" services: garage-node-1: image: deuxfleurs/garage container_name: garage-node-1 ports: - "9000:9000" # S3 API - "3900:3900" # 管理 API - "3901:3901" # 节点间 RPC volumes: - ./node1/data:/data # 节点 1 数据目录 - ./garage.toml:/etc/garage.toml # 共享配置文件(集群模式需调整节点 ID) command: server -c /etc/garage.toml restart: unless-stopped garage-node-2: image: deuxfleurs/garage container_name: garage-node-2 ports: - "9001:9000" # S3 API(避免端口冲突) - "3902:3900" # 管理 API - "3903:3901" # 节点间 RPC volumes: - ./node2/data:/data # 节点 2 数据目录 - ./garage.toml:/etc/garage.toml command: server -c /etc/garage.toml restart: unless-stopped
bashdocker-compose up -d
garage.toml)metadata_dir:元数据存储路径(建议持久化)。data_dir:对象数据存储路径(需持久化,建议使用高性能存储介质)。rpc_bind_addr:节点间 RPC 通信地址(格式 IP:端口,集群内节点需互通此端口)。api_bind_addr:管理 API 地址(用于集群配置与监控)。s3_api_bind_addr:S3 API 服务地址(客户端访问端口,默认 9000)。[cluster]:集群配置,包括 id(集群唯一标识)、peers(集群节点列表,格式 节点 ID@IP:RPC端口)。/data(或配置文件中指定的 metadata_dir 和 data_dir),避免容器重启导致数据丢失。garage node id 命令生成),并在集群配置中注册。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务