重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关Hyperledger所用到的docker命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的昂昂溪网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
1、docker安装信息
$ docker info
2、docker版本
$ docker version
3、列出所有正在运行的容器
$ docker ps
4、查看docker安装的镜像
$ docker images
5、删除指定镜像
$ docker rmi
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命令有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。