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