本篇内容介绍了“docker的安装以及Fabric1.1的搭建步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、重庆小程序开发公司、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了嘉禾免费建站欢迎大家使用!
安装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?
解决:因为docker服务没有启动,所以在相应的/var/run/ 路径下找不到docker的进程;执行 service docker start 命令,启动docker服务 就OK了。
启用docker官方中国区加速器:
vim /etc/sysconfig/docker
--registry-mirror=https://registry.docker-cn.com 加入这语句就好
service docker start 启动docker服务
安装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(出现异常)? 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(如果已经安装就不用了)
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 创建存放fabric项目的文件夹
vim /etc/profile 配置环境变量
export GOPATH=/root/golang
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
source /etc/profile 刷新环境变量
下载fabnric1.1源码
wget https://github.com/hyperledger/fabric/archive/release-1.1.zip
把fabric压缩包放到刚刚创建的文件夹下面 /root/golang/
unzip release-1.1.zip 解压
mv fabric-release-1.1 fabric 修改文件夹名称为fabric
fabric项目搭建
cd fabric
创建项目目录 mkdir fabric_project
cd scripts 进入文件执行 ./bootstrap.sh 下载bin (时间有点长,等待一下)
cp bin -r bin/ ../fabric_project/ 把bin文件夹复制到项目文件夹下面
到fabric目录下 复制私钥及证书文件配置文件到项目文件夹下面
cp examples/e2e_cli/configtx.yaml fabric_project/
cp examples/e2e_cli/crypto-config.yaml fabric_project/
在项目文件夹下面创建channel-artifacts文件夹,用来存放创世快文件、通道文件以及组织文件
在项目文件夹下面:
生成公钥、私钥、证书
./bin/cryptogen generate --config=./crypto-config.yaml
生成创世区块
./bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
生成Channel配置区块,通道id为mychannel,名字可以随意取,但是后面用到该通道时通道id需要与之一致
./bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/mychannel.tx -channelID mychannel
更新锚节点
./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
创建docker-orderer.yaml以及docker-peer.yaml两个启动文件,用来启动orderer服务以及ca、peer、cli、couchdb服务
docker-orderer.yaml 和docker-peer.yaml 是从 fabric/ examples/ e2e_cli/下面的docker-compose-e2e.yaml 分离出来的:如下
//=========================================================================================
他具体的配置在包含的文件里面
里面是2组织4节点 但是我不知道啥意思
//=========================================================================================
order:如下截图
peer:如下截图
启动orderer和pee
docker-compose -f docker-orderer.yaml up -d
docker-compose -f docker-peer.yaml up -d
======启动成功如下 docker ps -a 查询镜像服务=====
会有这些端口映射
进入客户端
docker exec -it cli bash
创建一个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}')
****************************************************问题:
如果中途有什么报错
docker logs -f ca 查询日志 ca 就是查看ca日志
********************严重问题:got unexpected status: SERVICE_UNAVAILABLE -- will not enqueue, consenter for this channel hasn't started yet
解决:删除旧证书,重新生成新证书文件
********错误: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的搭建步骤”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!