本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
IPFS Cluster 是一款针对 IPFS(星际文件系统)网络的固定集(pinset)编排工具,旨在通过跨多个 IPFS 守护进程(daemon)分配、复制和跟踪全局固定集,实现分布式环境下的数据协同管理。其核心目标是解决多节点 IPFS 部署中数据一致性、可用性及冗余管理问题,确保指定数据在集群内的可靠存储与访问。
集群节点服务(ipfs-cluster-service)
作为核心组件,需与 kubo(原 go-ipfs)守护进程配合运行(sidecar 模式),负责本地节点的固定集管理、集群通信及数据同步。
客户端 CLI(ipfs-cluster-ctl)
提供命令行接口,通过 HTTP API 与集群节点交互,支持固定集添加/删除、集群状态查询、节点管理等操作。
跟随节点服务(ipfs-cluster-follow)
简化「跟随节点」(follower peer)的配置与启动流程,无需手动管理复杂集群参数,快速接入现有集群。
ipfs-cluster-ctl 提交固定任务,集群自动分配至节点并复制。# 查看集群状态 ipfs-cluster-ctl status # 添加 CID 至全局固定集(副本数 2) ipfs-cluster-ctl pin add <CID> --replication 2 # 移除固定集 ipfs-cluster-ctl pin rm <CID> # 查看集群节点列表 ipfs-cluster-ctl peers ls
IPFS Cluster 支持通过环境变量或配置文件(config.json)自定义参数,常用环境变量如下:
| 环境变量 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
CLUSTER_SECRET | 集群密钥(所有节点必须一致) | 无(必填) | QmXYZ123...(base64 编码字符串) |
IPFS_CLUSTER_IPFSHTTP_NODE | 关联的 IPFS 节点 HTTP API 地址 | http://localhost:5001 | [***] |
CLUSTER_RESTAPI_HTTPLISTENADDR | 集群 HTTP API 监听地址 | /ip4/0.0.0.0/tcp/9094 | /ip4/0.0.0.0/tcp/9095 |
CLUSTER_PEERNAME | 节点名称(集群内唯一) | 自动生成(基于节点 ID) | node-1 |
CLUSTER_BOOTSTRAP | 引导节点地址(新节点加入集群时使用) | 无 | /ip4/192.168.1.100/tcp/9096/p2p/12D3Koo... |
# 启动 IPFS 守护进程(kubo) docker run -d --name ipfs-daemon -p 4001:4001 -p 5001:5001 ipfs/kubo:latest # 生成集群密钥(本地执行) CLUSTER_SECRET=$(od -vN 32 -An -tx1 /dev/urandom | tr -d ' \n') # 启动 IPFS Cluster 节点(关联上述 IPFS 守护进程) docker run -d --name ipfs-cluster \ --link ipfs-daemon:ipfs \ -e CLUSTER_SECRET=$CLUSTER_SECRET \ -e IPFS_CLUSTER_IPFSHTTP_NODE=[***] \ -p 9094:9094 \ # HTTP API 端口 -p 9096:9096 \ # 集群通信端口 ipfs/ipfs-cluster:latest
# docker-compose.yml version: '3' services: ipfs-1: image: ipfs/kubo:latest ports: - "4001:4001" - "5001:5001" volumes: - ipfs1-data:/data/ipfs cluster-1: image: ipfs/ipfs-cluster:latest depends_on: - ipfs-1 environment: - CLUSTER_SECRET=your-cluster-secret-here # 替换为实际密钥 - IPFS_CLUSTER_IPFSHTTP_NODE=[***] - CLUSTER_PEERNAME=cluster-node-1 - CLUSTER_BOOTSTRAP= # 首个节点无需引导地址 ports: - "9094:9094" - "9096:9096" volumes: - cluster1-data:/data/ipfs-cluster ipfs-2: image: ipfs/kubo:latest ports: - "4002:4001" - "5002:5001" volumes: - ipfs2-data:/data/ipfs cluster-2: image: ipfs/ipfs-cluster:latest depends_on: - ipfs-2 - cluster-1 environment: - CLUSTER_SECRET=your-cluster-secret-here # 与 cluster-1 一致 - IPFS_CLUSTER_IPFSHTTP_NODE=[***] - CLUSTER_PEERNAME=cluster-node-2 - CLUSTER_BOOTSTRAP=/ip4/cluster-1/tcp/9096/p2p/<cluster-1-peer-id> # 替换为 cluster-1 的 peer ID ports: - "9095:9094" - "9097:9096" volumes: - cluster2-data:/data/ipfs-cluster volumes: ipfs1-data: cluster1-data: ipfs2-data: cluster2-data:
注意:
CLUSTER_BOOTSTRAP需替换为首个集群节点(cluster-1)的实际 peer ID,可通过docker logs cluster-1查看启动日志获取。
IPFS Cluster 欢迎社区贡献,具体指南参见 贡献规范。
本项目采用双许可证授权:Apache 2.0 与 MIT 许可证。
© 2022 Protocol Labs, Inc.
参考文档:完整用户手册与技术细节请参见 IPFS Cluster 官方文档。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429