天天看點

go-ethereum編譯出現:Get https://registry-1. docker. io/v2/: EOF錯誤解決

問題分析

在使用以太坊用戶端建立網絡元件的時候,出現以下錯誤:

Step 1/2: FROM puppeth/ethstats: latest bervice ’ ethstats’ failed to build: Get https://registry-1. docker. io/v2/: EOF ERROR[03-19|13:57:17.082] Failed to deploy ethstats container err=“Process exited with status 1”

go-ethereum編譯出現:Get https://registry-1. docker. io/v2/: EOF錯誤解決

此時已經給docker換過源了,是以報錯不是連接配接逾時問題,而是無法獲得更多資源,第一種可能和docker版本或者go的版本有關,我測試了三個go的版本,發現go版本1.11.2是可行的。而第二種可能是最常見的,那就是docker代理的問題,是以可以切換一個穩定的docker代理即可。

問題解決

第一步,更換go版本

首先進入/usr/local目錄

cd /usr/local
           

安裝go1.11.2版本

wget https://dl.google.com/go/go1.11.2.linux-amd64.tar.gz
           

解壓

tar zxvf go1.11.2.linux-amd64.tar.gz
           

設定編譯目錄GOPATH

mkdir -p /home/gopath
           

配置環境變量

vim /etc/profile
           

在配置檔案最後添加

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/home/gopath
           

儲存已配置的環境變量使其生效

source /etc/profile
           

最後隻需檢視go的版本即可驗證是否成功了

go version
           
go-ethereum編譯出現:Get https://registry-1. docker. io/v2/: EOF錯誤解決

第二步清除go-ethereum以編譯的可執行檔案後重新編譯,或者重新編譯一個未編譯的go-ethereum,可執行檔案在build的bin目錄下。

cd go-ethereum
make all
           

最後一步就可以執行puppeth去測試,此時上述的錯誤也就解決了,但是注意的是你的docker能通路外部網絡,如果不能可以換源。

docker換源

go-ethereum編譯出現:Get https://registry-1. docker. io/v2/: EOF錯誤解決

第二種解決辦法就是用個VPN,使本身機器能通路外網,可以解決了這個問題,是以,要給docker選擇一個穩定可行的代理,或者直接使用阿裡雲主機,無需VPN即可使用。

繼續閱讀