Fabric2.0.0部署运行test-network日记

Fabric2.0.0部署运行test-network日记

Author:wts

Date:2020年2月27日


2020-2-27:

1、安装Ubuntu(完成)

密码是123456

因为磁盘空间的原因,将Ubuntu存储在移动硬盘里,方便后期移动。

这个网址的环境是1.4,我们到时使用fabric官方路径吧。

今天的目标,装好ubuntu,golang,nodejs,curl等需要的软件。

推荐用apt代替apt-get

估计是要装在移动硬盘上的原因吧,对移动硬盘又是一次考验。

2、Ubuntu 安装curl(完成)

https://blog.csdn.net/songmingzhan/article/details/78876400

程序“curl”尚未安装。 您可以使用以下命令安装:sudo apt install curl 已经提示很明确了,sudo apt install curl先更新一下

sudo apt-get update

sudo apt install curl

3、Ubuntu安装git(完成)

https://www.jianshu.com/p/cc76129478ab

sudo apt-get update

sudo apt-get install git

设置Git

安装Git之后建议做一些基础设置,例如设置一下你的用户名与电子邮件等,这些信息在提交代码的时候都是必需的。可以使用以下的命令:


git config --global user.name "你的用户名,例如github的账号"

git config --global user.email "你的邮箱,例如github中的邮件地址"


之后,就可以用git config --list来查看设置的信息。

初始化仓库

在初始化仓库之前,可以先创建一个代码存储的文件侠,例如“git_test”,之后用git init来初始化,如下:

mkdir temp

cd temp

git init

初始化操作会在这个目录中新建一个名为“.git”的目录,相关的配置以及编辑信息均存储在其中。说明一下,这个文件夹默认隐藏,如果需要查看,可以用ls -a来查看。

4、Ubuntu安装docker和docker compose(完成)

https://www.jianshu.com/p/cef32b054968

太复杂了。。。。有这么麻烦么。。。。

好麻烦。。。


5、Ubuntu安装GO(完成)

vim ~/.bashrc

最后一行加上下面配置

export GOPATH=/usr/local/go

export PATH=$GOPATH/bin:$PATH

通过apt安装的不在这里

 

有时候需要配置ubuntu安装的软件,一般安装软件都是使用apt-get install。那么安装完后,软件的安装目录在哪里呢,可执行文件又放在哪里呢。

 

A、下载的软件的存放位置:/var/cache/apt/archives

 

B、安装后软件的默认位置:/usr/share

 

C、可执行文件位置:/usr/bin

 

D、配置文件位置:/etc

 

E、lib文件位置:/usr/lib


过程挺慢的,竟然还需要18分钟。。。

6、Ubuntu安装Node.js(完成)

https://blog.csdn.net/cgs1999/article/details/89703649


sudo add-apt-repository ppa:chris-lea/node.js

sudo apt-get update


sudo apt-get install nodejs

sudo apt install libssl1.0-dev nodejs-dev node-gyp npm


sudo npm config set registry https://registry.npm.taobao.org

sudo npm config list

sudo node -v

sudo npm -v


先到这里吧。


7、Ubuntu上不去git(完成不算太快,也没快哪去。。)

Ubuntu上不去github:


https://www.cnblogs.com/chenxi188/p/10862503.html(这个链接里写的比较好)

第二步,追加域名的IP地址

我们可以利用https://www.ipaddress.com/来获得以下两个GitHub域名的IP地址:

(1) github.com

(2) github.global.ssl.fastly.net

打开网页后,利用输入框内分别查询两个域名:


先试一下github.com(也可直接访问):http://github.com.ipaddress.com/#ipinfo 


在标注的IP地址中,任选一个记录下来。

再来是github.global.ssl.fastly.net(也可直接访问):http://github.global.ssl.fastly.net.ipaddress.com/#ipinfo 



将以上两段IP写入Hosts文件中:

151.101.185.194 github.global.ssl.fastly.net192.30.253.112 github.com



解决连不上GitHub,也ping不通

https://blog.csdn.net/believe_s/article/details/81539747

Ping不通,这时候,只需要在host文件里做些修改就可以,首先,定位到路径

C:\Windows\System32\drivers\etc

1找到host文件,右键-属性-安全-编辑,选中当前电脑登录的用户,给自己最高权限,确认。

然后用记事本打开,在最后一行加:

192.30.253.113 github.com

192.30.252.131 github.com

185.31.16.185 github.global.ssl.fastly.net

74.125.237.1 dl-ssl.google.com

173.194.127.200 groups.google.com

192.30.252.131 github.com

185.31.16.185 github.global.ssl.fastly.net

74.125.128.95 ajax.googleapis.com

保存,再ping,发现速度杠杠的

ubuntu上设置

https://blog.csdn.net/wuzhong8809/article/details/84061323

通过修改/etc/hosts 强制捆绑域名和IP地址


下面通过将abc.com 的IP指定为 127.0.0.1 为例:


一、打开/etc/hosts 文件,在其中添加如下一行:


127.0.0.1 abc.com

保存退出。


二、重启网络模块

sudo /etc/init.d/networking restart

三、验证

>ping abc.com

PING abc.com (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.092 ms

64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.084 ms

64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.077 ms



8、Ubuntu搭建ftp服务器


运行:sudo apt-get install vsftpd命令,安装VSFTP工具:

安装好了之后,使用如下命令启动FTP服务:

sudo systemctl start vsftpdsudo systemctl enable vsftpd



2.等待安装完成,进入配置文件目录, cd /etc/


3. 将配置文件备份, sudo cp vsftpd.conf vsftpd.conf.bak  这是个人习惯。


4.配置文件中主要有这几项修改:


匿名用户(就是可以直接登录的)


anon_upload_enable=YES  #默认是NO

anon_mkdir_write_enable=YES  #匿名登录创建文件夹

anon_upload_enable=YES  #匿名登录可以上传


anon_other_write_enable=YES # 匿名登录可写


其他还有一些local_enable 登录账号白名单,用户白名单之类的以后再介绍。


5.重启ftp服务。 sudo /etc/init.d/vsftpd restart


登录客户端


ftp://xxx.xxx.xxx


这里登录的路径是服务器的/srv/ftp/


这里要求ftp文件夹是不可写的。否则会出错。即 sudo chmod 555 /srv/ftp/.

————————————————

版权声明:本文为CSDN博主「seVIIen」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/cfycyf/article/details/79420588



9、Ubuntu部署基于Fabric的虚拟区块链服务

https://blog.csdn.net/sinat_35119798/article/details/78518919

sudo curl -sSL

https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s

10、Docker中如何删除image(镜像)

http://yaxin-cn.github.io/page/2/

docker中删除images的命令是docker rmi,但有时候执行此命令并不能删除images

[yaxin@ubox ~]$docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZEeg_sshd             latest              ed9c93747fe1        45 hours ago        329.8 MBCentOS65            latest              e55a74a32125        2 days ago          360.6 MB[yaxin@ubox ~]$docker rmi ed9c93747fe1Untagged: ed9c93747fe16627be822ad3f7feeb8b4468200e5357877d3046aa83cc44c6af[yaxin@ubox ~]$docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE<none>              <none>              ed9c93747fe1        45 hours ago        329.8 MBCentOS65            latest              e55a74a32125        2 days ago          360.6 MB

可以看出,image并没有被删除,只是他的tag被删除了,再次执行docker rmi IMAGE_ID只会报错

[yaxin@ubox ~]$docker rmi ed9c93747fe1Error: image_delete: Conflict, ed9c93747fe1 wasn't deleted2014/03/22 15:58:27 Error: failed to remove one or more images

查看docker的帮助会发现有两个与删除有关的命令rm和rmi

rm Remove one or more containersrmi Remove one or more images

这里有两个不同的单词,imagescontainer。其中images很好理解,跟平常使用的虚拟机的镜像一个意思,相当于一个模版,而container则是images运行时的的状态。docker对于运行过的image都保留一个状态(container),可以使用命令docker ps来查看正在运行的container,对于已经退出的container,则可以使用docker ps -a来查看。如果你退出了一个container而忘记保存其中的数据,你可以使用docker ps -a来找到对应的运行过的container使用docker commit命令将其保存为image然后运行。

回到之前的问题,由于image被某个container引用(拿来运行),如果不将这个引用的container销毁(删除),那image肯定是不能被删除。

所以想要删除运行过的images必须首先删除它的container。继续来看刚才的例子,

[yaxin@ubox ~]$docker ps -aCONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                   NAMES117843ade696        ed9c93747fe1        /bin/sh -c /usr/sbin   46 hours ago        Up 46 hours         0.0.0.0:49153->22/tcp   test_sshd

可以看出ed9c93747fe1的image被117843ade696的container使用着,所以必须首先删除该container

[yaxin@ubox ~]$docker rm 117843ade696Error: container_delete: Impossible to remove a running container, please stop it first2014/03/22 16:36:44 Error: failed to remove one or more containers

出现错误,这是因为该container正在运行中(运行docker ps查看),先将其关闭

[yaxin@ubox ~]$docker stop 117843ade696117843ade696


[yaxin@ubox ~]$docker rm 117843ade696117843ade696[yaxin@ubox ~]$docker rmi ed9c93747fe1Deleted: ed9c93747fe16627be822ad3f7feeb8b4468200e5357877d3046aa83cc44c6afDeleted: c8a0c19429daf73074040a14e527ad5734e70363c644f18c6815388b63eedc9bDeleted: 95dba4c468f0e53e5f1e5d76b8581d6740aab9f59141f783f8e263ccd7cf2a8eDeleted: c25dc743e40af6858c34375d450851bd606a70ace5d04e231a7fcc6d2ea23cc1Deleted: 20562f5714a5ce764845119399ef75e652e23135cd5c54265ff8218b61ccbd33Deleted: c8af1dc23af7a7aea0c25ba9b28bdee68caa8866f056e4f2aa2a5fa1bcb12693Deleted: 38fdb2c5432e08ec6121f8dbb17e1fde17d5db4c1f149a9b702785dbf7b0f3beDeleted: 79ca14274c80ac1df1333b89b2a41c0e0e3b91cd1b267b31bef852ceab3b2044[yaxin@ubox ~]$docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZECentOS65            latest              e55a74a32125        2 days ago          360.6 MB

可以看出,image已经被删除。

11、修改docker images的名称,删除同名同id不同tag的镜像

原创周子青最后发布于2018-05-11 15:22:24 阅读数 15127  收藏

展开

docker tag imageid name:tag正解。



docker tag 镜像ID xxxx:xxxx


例子:

docker tag 899bd984 lyb/php:1.0







今天建立docker容器的时候由于疏忽,镜像的名字输错了,结果容器创建成功后,镜像中出现两个id相同的:


使用docker rmi e4a35914679d删除的时候执行失败:


Error response from daemon: conflict: unable to delete e4a35914679d (must be forced) - image is referenced in one or more repositories


提示应该是该id有两个本地文件,不能用id删除。


所以我想删除所有镜像docker rmi $(docker images -q),出现下面错误


Error response from daemon: conflict: unable to delete e4a35914679d (must be forced) - image is referenced in one or more repositories






后来在Stack Overflow删看到使用repository和tag进行操作的,所以执行docker rmi docker.io/redis:3.2




再次查询的时候只剩下一个镜像,删除OK。




所以,可以使用repository:tag的组合来删除特殊的镜像。

————————————————

版权声明:本文为CSDN博主「周子青」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_37674858/article/details/80282068

12、使用docker安装mysql

第一步:使用docker pull拉取docker hub仓库中mysql镜像 (注意备注)

l

mysql镜像版本如下:



命令:docker pull mysql:8.0


备注:docker pull默认到官方参考拉取  mysql:8.0   镜像名:镜像tag     

(ctrl+c)可以取消下载


官方地址为国外地址安装缓慢可进行配置为国内的加速镜像,具体操作见下面


第二步:修改镜像文件拉取地址


命令:vi /etc/docker/daemon.json


备注:insert编辑内容如下      并esc  输入:wq 保存退出  

{

"registry-mirrors":["http://f1361db2.m.daocloud.io"]

}

备注:国内可用加速地址:

        https://registry.docker-cn.com

        http://hub-mirror.c.163.com

        https://3laho3y3.mirror.aliyuncs.com

        http://f1361db2.m.daocloud.io

        https://mirror.ccs.tencentyun.com


第三步:重启docker重新进行【第一步】安装速度变快

命令:systemctl restart docker

第四步:查看镜像安装情况

命令:docker images


第五步:启动docker中镜像

命令:docker run --name mysql8.0 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0

备注:--name服务启动别名设置  -p端口映射 宿主机端口:镜像运行端口  -d 镜像名:tag 使用守护进程模式启动 -e:设置root帐号密码

第六步:查看运行的镜像

命令:docker ps -a


第七步:进入镜像运行mysql

命令:docker exec -it mysql8.0 /bin/bash

备注:exec docker进入容器命令   -it 容器中服务别名 /bin/bash   表示命令行模式  与 -d 后台守护进行模式启动 形成两种运行方式   进入容器中如图所示变化如下


命令:cd /usr/bin

命令:mysql -u root -p

备注:在容器中进入用户目录启动mysql输入密码连接成功



安装成功


其他就正常操作mysql了。



13、大坑集锦 【推荐】HyperLedger Fabric环境搭建、测试及注意事项 [详尽指导] [亲测有效]


https://www.cnblogs.com/X-knight/p/9511491.html


14、Ubuntu开启telnet

Fabric-sample目前是运行成功了。

目录在/home/wts/fabric-samples下。



2020-2-28:

1、Fabric test-network的运行

curl -sSL https://bit.ly/2ysbOFE | bash -s【此命令运行不成功】

改成如下命令:

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s【会安装需要的bin目录下的文件和docker中需要的iamge】


Bring up the test network:

#cd fabric-samples/test-network


#./network.sh up

#docker ps -a【可以看到docker中已经运行的镜像】


#./network.sh createChannel 【默认创建一个mychannel】


#./network.sh deployCC -l java【java版本】

#./network.sh deployCC    【go版本】




export PATH=${PWD}/../bin:${PWD}:$PATH



export PATH=/home/wts/fabricmyself/fabric-samples/bin:/home/wts/fabricmyself/fabric-samples:$PATH


export FABRIC_CFG_PATH=$PWD/../config/


export FABRIC_CFG_PATH=/home/wts/fabricmyself/fabric-samples/config



You can now set the environment variables that allow you to operate the peer CLI as Org1:


# Environment variables for Org1

export CORE_PEER_TLS_ENABLED=true

export CORE_PEER_LOCALMSPID="Org1MSP"

export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt

export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp

export CORE_PEER_ADDRESS=localhost:7051



export CORE_PEER_TLS_ENABLED=true

export CORE_PEER_LOCALMSPID="Org1MSP"

export CORE_PEER_TLS_ROOTCERT_FILE=/home/wts/fabricmyself/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt

export CORE_PEER_MSPCONFIGPATH=/home/wts/fabricmyself/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp

export CORE_PEER_ADDRESS=localhost:7051



peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls true --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n fabcar --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"changeCarOwner","Args":["CAR9","Dave"]}'



peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls true --cafile /home/wts/fabricmyself/fabric-samples/test-network/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n fabcar --peerAddresses localhost:7051 --tlsRootCertFiles /home/wts/fabricmyself/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles /home/wts/fabricmyself/fabric-samples/test-network/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"changeCarOwner","Args":["CAR9","Dave"]}'



Test-network运行完毕。


好了,撸起袖子加油干吧。后面要理解、掌握的东西还很多。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345