本篇內(nèi)容介紹了“docker的安裝以及Fabric1.1的搭建步驟”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)公司、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了嘉禾免費(fèi)建站歡迎大家使用!
安裝docker
yum -y install docker
查看 docker 版本 docker version
問題:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
解決:因?yàn)閐ocker服務(wù)沒有啟動(dòng),所以在相應(yīng)的/var/run/ 路徑下找不到docker的進(jìn)程;執(zhí)行 service docker start 命令,啟動(dòng)docker服務(wù) 就OK了。
啟用docker官方中國區(qū)加速器:
vim /etc/sysconfig/docker
--registry-mirror=https://registry.docker-cn.com 加入這語句就好
service docker start 啟動(dòng)docker服務(wù)
安裝docker-compose
yum -y install epel-release 安裝第三方資源庫
yum -y install python-pip 安裝python第三方軟件庫
pip install --upgrade pip 更新pip
pip install docker-compose pip安裝docker-compose
問題:Collecting docker-compose(出現(xiàn)異常)? Could not find a version that satisfies the requirement docker-compose (from versions: ) No matching distribution found for docker-compose(6)?
解決:更換 安裝docker-compose命令
pip --default-timeout=200 install -U docker-compose Collecting docker-compose
安裝go(如果已經(jīng)安裝就不用了)
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
下載go壓縮包
tar -xvf go1.8.3.linux-amd64.tar.gz 解壓
mv go /usr/local/ 可以自己選擇放到哪里
mkdir /root/golang 創(chuàng)建存放fabric項(xiàng)目的文件夾
vim /etc/profile 配置環(huán)境變量
export GOPATH=/root/golang
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
source /etc/profile 刷新環(huán)境變量
下載fabnric1.1源碼
wget https://github.com/hyperledger/fabric/archive/release-1.1.zip
把fabric壓縮包放到剛剛創(chuàng)建的文件夾下面 /root/golang/
unzip release-1.1.zip 解壓
mv fabric-release-1.1 fabric 修改文件夾名稱為fabric
fabric項(xiàng)目搭建
cd fabric
創(chuàng)建項(xiàng)目目錄 mkdir fabric_project
cd scripts 進(jìn)入文件執(zhí)行 ./bootstrap.sh 下載bin (時(shí)間有點(diǎn)長,等待一下)
cp bin -r bin/ ../fabric_project/ 把bin文件夾復(fù)制到項(xiàng)目文件夾下面
到fabric目錄下 復(fù)制私鑰及證書文件配置文件到項(xiàng)目文件夾下面
cp examples/e2e_cli/configtx.yaml fabric_project/
cp examples/e2e_cli/crypto-config.yaml fabric_project/
在項(xiàng)目文件夾下面創(chuàng)建channel-artifacts文件夾,用來存放創(chuàng)世快文件、通道文件以及組織文件
在項(xiàng)目文件夾下面:
生成公鑰、私鑰、證書
./bin/cryptogen generate --config=./crypto-config.yaml
生成創(chuàng)世區(qū)塊
./bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
生成Channel配置區(qū)塊,通道id為mychannel,名字可以隨意取,但是后面用到該通道時(shí)通道id需要與之一致
./bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/mychannel.tx -channelID mychannel
更新錨節(jié)點(diǎn)
./bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID mychannel -asOrg Org1MSP
./bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID mychannel -asOrg Org2MSP
創(chuàng)建docker-orderer.yaml以及docker-peer.yaml兩個(gè)啟動(dòng)文件,用來啟動(dòng)orderer服務(wù)以及ca、peer、cli、couchdb服務(wù)
docker-orderer.yaml 和docker-peer.yaml 是從 fabric/ examples/ e2e_cli/下面的docker-compose-e2e.yaml 分離出來的:如下
//=========================================================================================
他具體的配置在包含的文件里面
里面是2組織4節(jié)點(diǎn) 但是我不知道啥意思
//=========================================================================================
order:如下截圖
peer:如下截圖
啟動(dòng)orderer和pee
docker-compose -f docker-orderer.yaml up -d
docker-compose -f docker-peer.yaml up -d
======啟動(dòng)成功如下 docker ps -a 查詢鏡像服務(wù)=====
會(huì)有這些端口映射
進(jìn)入客戶端
docker exec -it cli bash
創(chuàng)建一個(gè)channel
peer channel create -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/mychannel.tx
通過mychannel.block文件來加入該channel
peer channel join -b mychannel.block
安裝智能合約
peer chaincode install -n tracegoods -p github.com/hyperledger/fabric/longlin/chaincode/go/trace_goods -v 1.0
初始化
peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n tracegoods -c '{"Args":["init","admin","admin"]}' -P "OR ('Org1MSP.member')" -v 1.0
查詢
peer chaincode query -C mychannel -n tracegoods -c '{"Args":["query","sheep_goods_list"]}'
peer chaincode invoke -C mychannel -n tracegoods -c '{"Args":["addGoods","94cdaa8576314e6bb4277c11bc3f0492","mychannel1的商品1","2000","2018/12/12","admin"]}'
peer chaincode query -C mychannel -n tracegoods -c '{"Args":["queryAllGoods","admin","1","10"]}'
docker命令
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker rmi --force $(docker images | grep peer0.org1 | awk '{print $3}')
****************************************************問題:
如果中途有什么報(bào)錯(cuò)
docker logs -f ca 查詢?nèi)罩?ca 就是查看ca日志
********************嚴(yán)重問題:got unexpected status: SERVICE_UNAVAILABLE -- will not enqueue, consenter for this channel hasn't started yet
解決:刪除舊證書,重新生成新證書文件
********錯(cuò)誤:channel create configuration tx file not found open ./channel-artifacts/mychannel.tx: no such file or directory
解決:mychannel.tx 文件生成異常 刪除channel-artifacts里面的所有文件重新生成
********問題:Error getting chaincode code chaincode: path to chaincode does
not exist: /opt/gopath/src/github.com/hyperledger/fabric/longlin/chaincode/go/chaincode_example02
解決:修改上面 order/peer截圖的地方
“docker的安裝以及Fabric1.1的搭建步驟”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
本文名稱:docker的安裝以及Fabric1.1的搭建步驟
分享路徑:http://muchs.cn/article6/jpdpog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、App開發(fā)、網(wǎng)站內(nèi)鏈、外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)