Blockchain
如何使用 docker 保存奇偶校驗數據
每次我通過拉取並創建一個新容器來升級 docker 上的奇偶校驗時,我都會失去所有同步數據。
Dockerfile 似乎沒有公開我可以使用 -v 掛載的捲
Parity 可以自動更新(從 1.5 開始),它有什麼竅門還是我應該忽略它?
解決方案是使用**-v將****其掛載到 docker**到本地文件夾
例子
首先在您的主機上創建奇偶校驗將保存數據的文件夾
mkdir /srv/parity
然後確保您擁有最新版本的奇偶校驗
docker pull parity/parity:nightly
最後使用以下參數創建容器:
- -v /srv/parity:/root/.local/share/io.parity.ethereum/(將本地文件夾 /srv/parity 掛載到容器奇偶校驗儲存
完整執行命令:
docker run -ti -d -p 8545:8545 --name parity -v /srv/parity:/root/.local/share/io.parity.ethereum/ parity/parity:nightly --jsonrpc-interface '0.0.0.0' --jsonrpc-hosts="all" --author "0xYOURETHADDRESS" --auto-update="all" -d /mnt
**注意:**此命令還將:
- 允許網路中的任何人訪問 JSON RPC 介面,因此不要在暴露的伺服器上使用此命令
- 啟用 1.5 中引入的 Parity 的自動更新
- 允許您通過指定“作者”參數進行單獨挖礦
執行命令後,您可以通過檢查 docker 主機上的 /srv/parity 文件夾來驗證一切是否正常
獎勵開發腳本:
您可以隨時使用以下 bash 腳本更新奇偶校驗。它刪除舊容器,創建一個新容器但保留數據
#!/bin/sh docker pull parity/parity:nightly docker rm -f parity docker run --restart always -ti -d \ -p 8180:8180 -p 8545:8545 -p 8546:8546 -p 30303:30303 -p 30303:30303/udp \ --name parity --restart always \ -v /srv/parity:/root/.local/share/io.parity.ethereum/ parity/parity:nightly \ --jsonrpc-interface '0.0.0.0' --jsonrpc-hosts="all" \ --author 0xYOURETHADDRESSHERE \ --auto-update="all" \ --stratum --stratum-interface=0.0.0.0 \ --jsonrpc-cors null \ --unsafe-expose \ --db-compaction hdd \ --mode active --cache-size 4096 \ --ui-interface 0.0.0.0 --ui-no-validation docker logs --follow parity