https://yuanrui919.github.io/mvappdata/ 這篇說明了如何透過移動 %appdata% 目錄來變更節點檔案位置,但如果是一台已經裝了許多亂七八糟的軟體、不確定移動 %appdata% 目錄是否會有影響的舊電腦呢?
有些人可能會想移動Docker的虛擬硬碟( .vhdx檔,位於 %localappdata%\Docker\wsl ),是可以,但幫助不大,因為它大概只有3GB左右而已。真正佔空間的節點資料是以「Bind mounts」的方式儲存在 %appdata%\Pi Network\docker_volumes,它會隨著區塊的增長而使用更多磁碟空間。
其實還是有辦法的,只要手動建立pi-consensus Container就能改位置了。
首先請備份 %appdata%\Pi Network\stellar.env,因為等一下它會被刪除。
stellar.env是一個純文字檔,是由節點程式在建立pi-consensus Container時產生的PostgreSQL資料庫的隨機密碼。
按「Remove all blockchain data」,它會刪除pi-consensus Container,也會刪除stellar.env(所以剛才才說要備份)。
檢查Docker的pi-consensus Container已經刪除。
結束節點程式(按了Remove all blockchain data,小紅點也會關閉)。
在你喜歡的地方建立新資料夾,例如D:\Pi Network\docker_volumes。
將剛才備份的stellar.env也放到你高興的地方,例如D:\Pi Network\stellar.env。如果忘了備份,就自己用記事本建立一個同名的檔案,內容為POSTGRES_PASSWORD=xxxxxxxxxxxxxxxxxxxx(密碼隨便打)。
在命令提示字元(CMD)執行:
docker run -t --env-file="D:\Pi Network\stellar.env" -v "D:\Pi Network\docker_volumes\stellar:/opt/stellar" -v "D:\Pi Network\docker_volumes\supervisor_logs:/var/log/supervisor" -v "D:\Pi Network\docker_volumes\history:/history" -p 31401:8000 -p 31402:31402 -p 31403:1570 --name pi-consensus -d pinetwork/pi-node-docker:latest --testnet
(彩色的字請改成你自己的路徑,其餘一字不漏的照抄)
檢查pi-consensus Container成功執行。
檢查密碼跟Mounts路徑也都正確。
檢查檔案都有產生在新的路徑底下。
啟動節點程式,結果發現pi-consensus Container又停止了,這是因為上次結束節點程式時,小紅點是關閉的,所以再重新開起來時也是關閉的。重新開小紅點就好了。
或者熟悉user-preferences.json的人,也可以先把"switchStatus"的值改成true,再執行節點程式,小紅點就會自動亮了(user-preferences.json請參考 https://yuanrui919.github.io/circling/ )。
最後,請忘掉前面所寫的一切東西,這篇 https://yuanrui919.github.io/dockerContainerVolume/ 才是真正的解法。