基于 Docker Compose 的生产级编排,覆盖 Ethereum、BNB Chain、Arbitrum、Linea、Scroll,内置健康检查与资源限制。
覆盖主流 L1 与 L2,统一 Docker Compose 编排
每个 compose 编排都内置了以下能力
所有服务配置 Docker healthcheck,自动检测 RPC 可用性并联动告警与重启策略。
deploy.resources 限制 CPU 与内存上限,防止单容器耗尽宿主机,多链并行部署互不干扰。
json-file 驱动 + 自动轮转(100MB × 3),不再担心容器日志写满磁盘。
L2 链(Arbitrum、Scroll)通过 .env 管理外部依赖,配置与代码分离,部署无需改 compose。
全部使用 unless-stopped,异常退出自动拉起,手动停止保持停机,行为一致可预期。
支持 publicnode 快照导入,大幅缩短首次区块追赶时间,从数天降至数小时。
前提:Docker ≥ 24.0,Docker Compose ≥ v2.20
# 1. 克隆仓库 git clone git@github.com:orange723/deploy-chain-fullnode.git cd deploy-chain-fullnode # 2. 初始化目标链 ./init.sh eth # 3. 进入目录并启动 cd eth && docker compose up -d # 4. 查看同步进度 docker compose exec geth geth attach --exec 'eth.syncing' http://localhost:8545
各链建议配置,生产环境请预留 20% 余量
| 链 | 内存 | CPU | 磁盘(归档模式) |
|---|---|---|---|
| Ethereum Mainnet | ≥ 16 GB | 4 核 | ≥ 2 TB SSD |
| Sepolia | ≥ 8 GB | 2 核 | ≥ 500 GB SSD |
| BNB Chain | ≥ 16 GB | 4 核 | ≥ 2 TB SSD |
| BNB Testnet | ≥ 8 GB | 2 核 | ≥ 500 GB SSD |
| Arbitrum One | ≥ 8 GB | 2 核 | ≥ 500 GB SSD |
| Linea | ≥ 8 GB | 2 核 | ≥ 500 GB SSD |
| Scroll | ≥ 8 GB | 2 核 | ≥ 500 GB SSD |