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(所以剛才才說要備份)。

 

檢查Dockerpi-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/ 才是真正的解法。

 

回首頁