下載fabric源碼
- 獲取fabric源碼
如果上述命令拉去失敗,執行下面命令go get -u -v github.com/hyperledger/fabric
mkdir -p /opt/gopath/src/github.com/hyperledger cd -p /opt/gopath/src/github.com/hyperledger git clone https://github.com/hyperledger/fabric.git
- 進入到fabric源碼目錄中
cd /opt/gopath/src/github.com/hyperledger/fabric
- 切換到指定分支
git checkout -b v1.1.0
下載fabric鏡像
-
進入Docker商店
-
使用docker下載fabric環境所需鏡像
下載鏡像時候需要注意鏡像版本與Hyperledger fabric版本保持一致,有些鏡像不具備兼容性,如果版本不一致可能會導致啓動一致報錯。
下面鏡像中標記了「 必須 」的不管是單機還是分佈式部署都需要的組件。
下面的版本中特別注意
peer
,orderer
兩個鏡像版本必須大於v1.3.0,這裏自己選擇滿足需求的穩定版本即可,下載完之後記得要修改tag下載鏡像
docker pull hyperledger/fabric-orderer:latest # 必須 docker pull hyperledger/fabric-peer:latest #必須 docker pull hyperledger/fabric-tools:x86_64-1.1.0 #必須 docker pull hyperledger/fabric-ccenv:x86_64-1.1.0 #必須 docker pull hyperledger/fabric-ca:x86_64-1.1.0 docker pull hyperledger/fabric-baseos:x86_64-0.4.0 #必須 docker pull hyperledger/fabric-couchdb:x86_64-0.4.7 docker pull hyperledger/fabric-kafka:x86_64-0.4.7 docker pull hyperledger/fabric-zookeeper:x86_64-0.4.7
修改鏡像tag(防止報錯,親測orderer鏡像如果不修改成latest,服務啓動不了)
docker tag hyperledger/fabric-tools:x86_64-1.1.0 hyperledger/fabric-tools:latest docker tag hyperledger/fabric-ccenv:x86_64-1.1.0 hyperledger/fabric-ccenv:latest docker tag hyperledger/fabric-ca:x86_64-1.1.0 hyperledger/fabric-ca:latest docker tag hyperledger/fabric-baseos:x86_64-0.4.0 hyperledger/fabric-baseos:latest docker tag hyperledger/fabric-couchdb:x86_64-0.4.7 hyperledger/fabric-couchdb:latest docker tag hyperledger/fabric-kafka:x86_64-0.4.7 hyperledger/fabric-kafka:latest docker tag hyperledger/fabric-zookeeper:x86_64-0.4.7 hyperledger/fabric-zookeeper:latest
fabric-tools
:是本地客戶端鏡像,主要用來執行 Peer 節 點中的相關操作,如頻道 、 智能合 約等。fabric-peer
是 Fabric 中網絡節點鏡像,從 1.0 版本開始, Fabric 的 Peer 不再提交數據, 全 部由客戶端完成,但 Peer 依然會對數據進行提交前的驗證和背書 。
fabric-couchdb
:是第 三 方可插拔式數據庫鏡像 , fabric-couchdb 非必須,如果不使用 CouchDB,則會默認使用 LeveIDB,相比較而言使用 CouchDB 功能性更強一些。
fabric-ca
是服務器本地 CA Se凹er,可以執行 fabric-ca-client 中的相關操作,實現登陸、注 冊及吊銷等方法。
fabric-order
:是Fabric的排序節點
fabric-kafka
:fabric集羣共識,單機版默認是solo,orderer節點排序必須要,如果是單機可以不配置kafka,使用solo即可滿足
fabric-zookeeper
: 如果將共識從solo
改爲kafka
則這個組件是必須的,主要爲了解決分佈式一致性的問題 -
鏡像備份和遷移
從遠程下載鏡像速度比較慢,每次下載比較耗時,有可能還會下載失敗,我們可以將下載下來的鏡像做一個備份,下次直接導入使用。
鏡像備份/遷移
備份
- docker save IMAGEDID(鏡像ID) > (文件路徑及文件名)
docker save ee85b5ffe927 > /data/baseos.tar
遷移
-
將鏡像發送到其他的服務器
scp /data/baseos.tar [email protected]:/data
-
加載鏡像
docker load /data/baseos.tar