
codexstorage/nim-codexDecentralized Durability Engine(去中心化持久性引擎)是一款专为分布式系统设计的容器化工具,旨在通过去中心化架构解决分布式环境下的数据持久性、可靠性和高可用性挑战。该引擎消除单点故障风险,实现数据在多节点间的自动冗余存储、故障检测与恢复,确保数据在分布式系统中持久化且可访问,适用于各类需要强数据可靠性的分布式场景。
通过以下命令启动单个节点实例(仅用于功能测试,生产环境需多节点集群部署):
bashdocker run -d \ --name dde-test-node \ -p 8080:8080 \ -v /host/test-data:/app/data \ -e DDE_NODE_ID=test-node-1 \ -e DDE_REPLICATION_FACTOR=1 \ decentralized-durability-engine:latest
-p 8080:8080:映射节点通信端口(容器内默认端口8080)-v /host/test-data:/app/data:挂载主机目录作为节点本地数据存储卷(需替换为实际主机路径)DDE_NODE_ID:节点唯一标识符(必填,集群内不可重复)DDE_REPLICATION_FACTOR:数据副本数量(测试环境可设为1,生产环境建议≥3)以下为3节点本地集群部署示例(生产环境需根据实际节点数量调整):
yamlversion: '3.8' services: node1: image: decentralized-durability-engine:latest container_name: dde-node-1 ports: - "8081:8080" volumes: - ./node1-data:/app/data environment: - DDE_NODE_ID=node-1 - DDE_PEERS=node-2:8080,node-3:8080 - DDE_REPLICATION_FACTOR=3 - DDE_PORT=8080 restart: unless-stopped node2: image: decentralized-durability-engine:latest container_name: dde-node-2 ports: - "8082:8080" volumes: - ./node2-data:/app/data environment: - DDE_NODE_ID=node-2 - DDE_PEERS=node-1:8080,node-3:8080 - DDE_REPLICATION_FACTOR=3 - DDE_PORT=8080 restart: unless-stopped node3: image: decentralized-durability-engine:latest container_name: dde-node-3 ports: - "8083:8080" volumes: - ./node3-data:/app/data environment: - DDE_NODE_ID=node-3 - DDE_PEERS=node-1:8080,node-2:8080 - DDE_REPLICATION_FACTOR=3 - DDE_PORT=8080 restart: unless-stopped
启动集群:
bash# 创建节点数据目录 mkdir -p node1-data node2-data node3-data # 启动集群 docker-compose up -d
| 参数名 | 描述 | 默认值 | 必要性 |
|---|---|---|---|
DDE_NODE_ID | 节点唯一标识符(集群内不可重复,建议使用有意义的命名如node-eu-01) | - | 必填 |
DDE_PEERS | 集群内其他节点地址列表,格式:node-id:port,node-id:port | - | 集群必填 |
DDE_REPLICATION_FACTOR | 数据副本数量(建议设置为集群节点数的1/2+1,如3节点集群设为2或3) | 3 | 可选 |
DDE_PORT | 节点内部通信端口(需与容器端口映射保持一致) | 8080 | 可选 |
DDE_DATA_DIR | 容器内数据存储路径(建议配合卷挂载使用,确保数据持久化) | /app/data | 可选 |
DDE_CONSISTENCY_LEVEL | 数据一致性级别:strong(强一致性)/eventual(最终一致性) | strong | 可选 |
为确保节点重启后数据不丢失,必须通过卷(Volume)挂载主机目录到容器内数据存储路径(默认/app/data或DDE_DATA_DIR指定路径):
bash# 示例:使用命名卷而非主机目录(更适合生产环境) docker volume create dde-node-data docker run -d \ --name dde-prod-node \ -v dde-node-data:/app/data \ # 挂载命名卷 -e DDE_NODE_ID=prod-node-01 \ ...(其他参数) decentralized-durability-engine:latest
docker network create创建专用桥接网络)docker logs <container-id>查看节点日志,重点关注[SYNC](数据同步)和[HEALTH](节点健康)相关日志排查问题探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务