码迷,mamicode.com
首页 > 其他好文 > 详细

编译fabric源码,并且制作docker镜像

时间:2020-04-03 09:13:53      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:gre   info   执行   star   module   stat   dev   try   pac   

1、下载好fabric源码:

  

git clone https://github.com/hyperledger/fabric.git
git checkout release-1.4

2、进入fabric目录

make release

  技术图片

  在fabric/release/li技术图片nux-amd64/bin目录下就会有编译好的二进制文件:

  技术图片

 

 3、制作docker镜像

  在fabric目录下面执行:

make docker

  这时会docker会拉取一些必要的镜像,有的时候拉取很慢,甚至超时导致错误,所以在/etc/docker/目录下面创建文件daemon.json文件,内容为:

{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
//重启docker服务
sudo service docker restart

  技术图片

 

 然后重新执行make docker:

  3.1遇到的第一个错误:counterfeiter

    技术图片

 

    解决方法:

mkdir -p $GOPATH/src/github.com/maxbrunsfeld
cd $GOPATH/src/github.com/maxbrunsfeld
git clone https://github.com/maxbrunsfeld/counterfeiter.git
go install counterfeiter

    此时可能又会出现can not find package "golang.org/x/mod/module"的问题

    或者cannot find package "golang.org/x/xerrors"

    技术图片

 

    技术图片

 

 

     解决方法:

    

mkdir -p $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/mod.git
git clone https://github.com/golang/xerrors.git

    然后重新执行:

go install counterfeiter

  3.2然后重新执行make docker,会安装chaintool,在之后又有可能会出现cannot stat ‘.build/docker/gotools/bin/protoc-gen-go‘:No such file or directory

    技术图片

 

    解决方法:

    在$GOPATH/src目录下

mkdir $GOPATH/src/golang
cd $GOPATH/src/golang
git clone https://git.oschina.net/mellymeng/protobuf.git
cd protobuf
make

    此时可能出现的问题是cannot find package "github.com/golang/protobuf/...":

    技术图片

 

     解决方法:

go get -v github.com/golang/protobuf/protoc-gen-go

    技术图片

 

     然后将下载的二进制文件复制到.build/docker/gotools/bin:

cd $GOPATH/bin
cp protoc-gen-go ../src/github.com/hyperledger/fabric/.build/docker/gotools/bin

    然后回到fabric目录,重新执行make docker

   3.3docker中apt-get update失败:

    Connection failed

    技术图片

 

     技术图片

 

     解决方法:

    修改/etc/docker/daemon.json文件,重新设置mtu和dns:

{
  "dns":["your own dns","8.8.8.8"],
  "mtu",1400    
}
//ubuntu中查看自己dns的方式:
nmcli device show | grep DNS

    技术图片

 

4、重新执行make docker

  结果如下:

  技术图片

 

   使用docker images查看制作的docker镜像:

  技术图片

 

   然后就可以使用这些镜像来搭建fabric网络了。

 

 

    

 

编译fabric源码,并且制作docker镜像

标签:gre   info   执行   star   module   stat   dev   try   pac   

原文地址:https://www.cnblogs.com/gyyyl/p/12624161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!