您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Hyperledger所用到的docker命令有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1、docker安裝信息
$ docker info
2、docker版本
$ docker version
3、列出所有正在運行的容器
$ docker ps
4、查看docker安裝的鏡像
$ docker images
5、刪除指定鏡像
$ docker rmi <image id>
6、刪除所有鏡像
$ docker rmi $(docker images -q)
過程中有些情況下不能全部刪除,image is referenced in multiple repositories 出現這種狀況,解決方式
刪除時可以用repository和tag的方式來刪除
$ docker rmi repository:tag
7、關閉運行的鏡像
$ docker rm -f $(docker ps -aq)
8、對docker容器的處理
$ docker stop mydocker 啟動一個或多少已經被停止的容器 $ docker restart mydocker 停止一個運行中的容器 $ docker start mydocker 重啟容器
9、標記本地鏡像,將其歸入某一倉庫
$ docker tag aberic/fabric-edge:1.0-RC2 aberic/fabric-edge:latest
10、登錄某個容器,進入容器的bash環境
$ docker exec -it container-id/container-name bash
11、鏈碼的安裝
$ peer chaincode install -n ChaincodeName -v version -p ChaincodePath
ChaincodeName:指鏈碼的name
version:鏈碼的版本
ChaincodePath:鏈碼的路徑,默認:
github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
12、鏈碼實例化
12.1 這行命令摘自于深藍博客
$ peer chaincode instantiate -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem -C mychannel -n devincc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')"
12.2 該命令摘自于大眾
$ peer chaincode instantiate -C mychannel -n ChaincodeName -v version -c '{"Args":["init","a",,"100","b","200"]}' -P "OR ('Org1Msp.member','Org2Msp.member')"
雖然這兩行命令都可以,但是我測試,12.2這條命令不全,無法繼續接下來的操作,所以我們使用12.1的命令,因為好多Hyperledger的書籍上都是12.2的這條命令,不正確,所以不建議使用,《區塊鏈開發實戰 Hyperledger fabric關鍵技術與案列分析》《深度探索區塊鏈 Hyperledger技術與應用》雖然都寫了,但是直介紹了這一行命令,接下來書里沒有提及其他接下來的操作,所以看不出來結果,但是我們在第14步就會看到結果,不能用這條命令!
-C:后面的變量是通道名稱
-v:后面的變量鏈碼版本
-c:后面接的是初始化參數變量
-P:后面的變量指的是背書策略,列子中的策略只要是Org1或者Org2的任意一個成員的背書就可以了
-o:目前不清楚指定的概念
--tls:傳輸協議
--cafile:不清楚
13、通過chaincode查詢數據
$ peer chaincode query -C mychannel -n cj -c '{"Args":["query","a"]}'
-C:通道名稱
-n 鏈碼名字
-c 查詢參數
14、通過chaincode寫入數據,這個命令將會創建新的block同時更新state DB
$ peer chaincode invoke -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem -C mychannel -n cj -c '{"Args":["invoke","a","b","10"]}'
心法:fabric算是一個聯盟鏈,可以擁有多個組織和最少一個Orderer排序服務節點,可以擁有多個peer(注解點,背書節點,記錄節點),一個peer可以擁有多個channel,一個channel可以擁有多個chaincode
fabric--Org(>=1)
--peer(分不同的作用,>=4)
--channel(>=1)
--chaincode(>=1)
--Orderer(至少一個)
關于“Hyperledger所用到的docker命令有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。