精通Hyperledger之docker学习笔记(1.2)

学习研究Hyperledger所用到的docker命令,之后会不断完善html

一、docker安装信息git

$ docker info

二、docker版本github

$ docker version

三、列出全部正在运行的容器docker

$ docker ps

四、查看docker安装的镜像bash

$ docker images

五、删除指定镜像学习

$ docker rmi <image id>

六、删除全部镜像区块链

$ docker rmi $(docker images -q)

过程当中有些状况下不能所有删除,image is referenced in multiple repositories 出现这种情况,解决方式测试

删除时能够用repository和tag的方式来删除网站

$ docker rmi repository:tag

七、关闭运行的镜像spa

$ docker rm -f $(docker ps -aq)

八、对docker容器的处理

$ docker stop mydocker 启动一个或多少已经被中止的容器

$ docker restart mydocker 中止一个运行中的容器

$ docker start mydocker 重启容器

九、标记本地镜像,将其纳入某一仓库

$ docker tag aberic/fabric-edge:1.0-RC2 aberic/fabric-edge:latest

十、登陆某个容器,进入容器的bash环境

$ docker exec -it container-id/container-name bash

十一、链码的安装

$ peer chaincode install -n ChaincodeName -v version -p ChaincodePath

ChaincodeName:指链码的name

version:链码的版本

ChaincodePath:链码的路径,默认:

github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

十二、链码实例化

    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:不清楚

1三、经过chaincode查询数据

$ peer chaincode query -C mychannel -n cj -c '{"Args":["query","a"]}'

-C:通道名称

-n 链码名字

-c 查询参数

1四、经过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(至少一个)

mac版docker教程

docker中文网站

相关文章
相关标签/搜索