點:Cumulus容器化部署與鏡像構(gòu)建完整指南)
Docker部署Parachain節(jié)點Cumulus容器化部署與鏡像構(gòu)建完整指南【免費下載鏈接】cumulusWrite Parachains on Substrate項目地址: https://gitcode.com/gh_mirrors/cum/cumulusCumulus 是 Parity 開源的 Substrate Parachain 開發(fā)框架而 Docker 容器化部署 Parachain 節(jié)點 是快速搭建測試鏈、驗證 Collator出塊節(jié)點行為的最快方式。本指南帶你用容器完成 Cumulus 鏡像構(gòu)建與節(jié)點部署全程無需在本地安裝 Rust 工具鏈幾分鐘即可跑通一個完整的 Parachain 測試網(wǎng)絡(luò)。為什么選擇容器化部署 CumulusParachain 節(jié)點的構(gòu)建依賴龐大的 Rust 工具鏈本地編譯往往耗時數(shù)十分鐘甚至數(shù)小時。使用 Docker或 Podman部署 Cumulus 節(jié)點有三大好處環(huán)境隔離構(gòu)建和運行互不污染本機零依賴可復(fù)現(xiàn)鏡像化交付團隊協(xié)作與 CI 流水線開箱即用最小足跡不占本機磁盤和內(nèi)存資源docker-compose一條命令拉起整條測試鏈官方文檔對容器用法的說明位于docs/container.md其中明確指出Podman 與 Docker 命令可互換可通過alias dockerpodman直接兼容。四種容器鏡像構(gòu)建方式按需選擇Cumulus 提供了從開箱即用到完全自編譯的 4 種鏡像方案難度遞增方式適用場景難度關(guān)鍵文件官方鏡像直接拉取現(xiàn)成鏡像運行節(jié)點?parity/polkadot-parachain鏡像Parity CI 鏡像用容器代替本地編譯出 Linux 二進制??docker/scripts/build_polkadot.sh二進制注入鏡像已有編譯好的二進制快速打包??docker/injected.Dockerfile容器內(nèi)全量構(gòu)建零本地環(huán)境一行命令出鏡像???docker/polkadot-parachain_builder.Containerfile方式一拉取 Parity 官方鏡像官方維護的容器鏡像可直接用于運行節(jié)點是最快驗證 Cumulus 的方式。方式二用 CI 鏡像編譯 Linux 二進制借助 Parity 內(nèi)部通用的 CI 基礎(chǔ)鏡像不需要安裝 Rust 即可編譯出 Linux 二進制編譯產(chǎn)物位于target/目錄為后續(xù)注入鏡像做準備。方式三二進制注入Injected Image這是最快得到一個可用鏡像的辦法把編譯好的polkadot-parachain二進制注入到 Parity 基礎(chǔ)鏡像parity/base-bin中。注入邏輯由docker/injected.Dockerfile完成它會自動拷貝parachains/chain-specs/下的所有鏈規(guī)格到鏡像的/specs目錄并暴露 30333、9933、9944、9615 四個端口。方式四Containerfile 容器內(nèi)全量構(gòu)建完全不想碰編譯環(huán)境直接執(zhí)行容器內(nèi)構(gòu)建由docker/polkadot-parachain_builder.Containerfile負責在 CI 基礎(chǔ)鏡像里完成整個 Cargo Release 編譯。耗時較長但對新手最友好——無需本地 Rust 工具鏈構(gòu)建完成后即可用--collator --tmp參數(shù)快速啟動測試節(jié)點。一鍵部署Docker Compose 拉起完整測試網(wǎng)絡(luò)Cumulus 內(nèi)置了一套開箱即用的測試編排文件docker/docker-compose.yml一次docker-compose up就能同時啟動6 個容器服務(wù)作用鏡像/構(gòu)建來源node_alice/node_bob兩個 Relay Chain 全節(jié)點固定 IP 172.28.1.1 / 172.28.1.2polkadot:${BRANCH}鏡像genesis_state導(dǎo)出 Parachain 創(chuàng)世狀態(tài)到共享卷docker/test-parachain-collator.dockerfilecollator測試 Parachain 的出塊節(jié)點Collator同上collator構(gòu)建階段runtime輸出編譯好的 Parachain Runtime WASM 到共享卷同上runtime構(gòu)建階段registrar等待就緒后自動調(diào)用registrar.registerPara注冊 Parachain 100docker/parachain-registrar.dockerfile整套流程自動完成編譯 Runtime → 導(dǎo)出創(chuàng)世狀態(tài) → 等待 Relay Chain 節(jié)點就緒 → 發(fā)送注冊交易 → 啟動 Collator。其中注冊腳本docker/scripts/register_para.sh會等待 Runtime WASM 與創(chuàng)世狀態(tài)文件寫入共享卷再通過polkadot-js-api以//Alice賬戶發(fā)起注冊交易Collator 啟動腳本docker/scripts/inject_bootnodes.sh則會自動從 Alice/Bob 節(jié)點的 RPC 接口獲取 Peer ID 并注入 bootnodes徹底省去手工配置。最快啟動方式在倉庫根目錄執(zhí)行以下兩個腳本即可完成構(gòu)建 后臺啟動啟動測試鏈與 Collatordocker/scripts/run_collator.sh內(nèi)部執(zhí)行docker builddocker-compose up -d停止 Collatordocker/scripts/stop_collator.sh如果你只想手動構(gòu)建某個鏡像可執(zhí)行docker/scripts/build_docker.sh并指定目標 dockerfile腳本會自動以文件名作為鏡像名打標簽。端口速查表宿主機映射的常用端口如下便于用 Polkadot.js Apps 等工具接入節(jié)點P2PRPC (9933 系)WS (9944 系)Alice3033399339944Bob3034499359945健康檢查如何確認 Parachain 節(jié)點部署成功docker/test-parachain-collator.dockerfile中為 Collator 配置了 HEALTHCHECK執(zhí)行docker/scripts/healthcheck.sh該腳本兩次查詢 Parachain 100 的parachains.heads間隔 60 秒只要 Head 發(fā)生變化即說明Collator 已在持續(xù)為 Parachain 生產(chǎn)區(qū)塊部署成功。檢查間隔設(shè)為 300 秒避免頻繁 RPC 請求。常見問題與排錯清單?首次構(gòu)建很慢Containerfile 全量構(gòu)建需編譯整個 Cargo 工作區(qū)請耐心等待構(gòu)建階段結(jié)果會被緩存二次啟動可復(fù)用。Podman 用戶全部命令中把docker換成podman或建立 alias 即可。WS 連不上確認 Collator 已注入正確的 bootnodes查看容器日志中--bootnodes參數(shù)并確認 Relay Chain 節(jié)點 RPC 已就緒。本地二進制開發(fā)若你已用 CI 鏡像編譯出polkadot-parachain可用注入鏡像方式三省去容器內(nèi)編譯環(huán)節(jié)。延伸閱讀容器使用完整說明docs/container.md測試網(wǎng)絡(luò)編排與卷定義docker/docker-compose.yml多階段構(gòu)建builder / collator / runtime 三個目標docker/test-parachain-collator.dockerfile集成測試網(wǎng)絡(luò)拓撲zombienet/examples/small_network.toml掌握了以上 4 種鏡像構(gòu)建方式和 Compose 一鍵部署流程你就已經(jīng)具備用 Docker 容器化運行 Cumulus Parachain 節(jié)點的全部能力——從本地開發(fā)測試到 CI 流水線交付一條命令即可完成?!久赓M下載鏈接】cumulusWrite Parachains on Substrate項目地址: https://gitcode.com/gh_mirrors/cum/cumulus創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考