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

1、下载好fabric源码:

  

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

2、进入fabric目录

make release

  

  在fabric/release/linux-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.gitgit 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网络了。

    

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

时间: 2024-08-27 13:58:18

编译fabric源码,并且制作docker镜像的相关文章

Hyperledger Fabric 1.0 从零开始(四)——Fabric源码及镜像文件处理

2:Fabric源码及镜像文件处理 2.1下载Fabric源码 下载Fabric源码是因为要用到源码中提到的列子和工具,工具编译需要用到go语言环境,因此需要把源码目录放到$GOPATH下.通过1.3中go的安装配置,$GOPATH设置为/opt/gopath. 我们可以使用Git命令下载源码,也可以使用go get命令,偷懒一点,我们直接用go get命令获取最新的Fabric源码: go get github.com/hyperledger/fabric [注:使用离线环境或者内网环境的朋友

Docker环境下编译android源码|编译可运行xposed

前言 因为我的电脑是Ubuntu18的版本,成功编译xposed刷入手机之后无法启动,检查了所有的环境,没有问题,发现可能是Ubuntu系统的兼容库的问题,但是我不可能重新安装系统吧,毕竟有点蠢,所以最好的方式就是在docker的Ubuntu容器中编译,统一环境问题,也可以隔离环境平时 工作开发环境,下面开始操作 安装配置docker docker加速,采用对国人友好的镜像地址 通过修改daemon配置文件/etc/docker/daemon.json来使用加速器,执行以下命令: 您可以配置 D

Ubuntu14.04 编译 Android 5.1.1源码(采用国内镜像)

之前就有编译android源码的想法,但是由于有GFW的存在,又没有梯子,连开发工具都是经过androiddevtools从百度云弄下来的,前两天发现了清华大学AOSP的镜像站点,就想着从上面git android 源码,然后编译.在这里做个简单的记录,和大家分享一下,毕竟小水管不容易,下载源码加编译花了接近两天. 1.安装openjdk-7-jdk $ sudo apt-get install openjdk-7-jdk 安装好之后修改 /etc/profile 中的环境变量,将openjdk

通过nginx源码包制作rpm包

目录 目录... 1 版权声明:... 2 文档信息:... 2 一.通过nginx源码包制作rpm包... 2 1.制作前环境准备:... 3 2.创建普通用户... 3 二.编写spec规则... 3 1.在模板里添加规则... 3 2.关于保存*.spec报错的解决... 4 2.1解决办法:... 5 2.2使用rpmbuild命令生成 rpm包... 5 三.在其他主机测试rpm包... 5 1. 需要按照依赖包... 5 2. 上传并安装nginxRPM包... 5 3. 查看端口开

【转】在Ubuntu下编译Android源码并运行Emulator

原文网址:http://www.mcuos.com/thread-4553-1-1.html 建立编译环境 1.在VirtualBox上安装Ubuntu 2.安装JDK   $ sudo apt-get install sun-java5-jdk  或   $ sudo apt-get install sun-java6-jdk (donut 1.6)3.安装flex,bison,gperf,libsdl-dev,libesd0-dev,libwxgtk2.6-dev(可选),build-ess

Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决

本文转至  http://blog.csdn.net/yanzi1225627/article/details/9263097 昨晚在编译源码,make一段时间之后报错如下: [html] view plaincopyprint? # A fatal error has been detected by the Java Runtime Environment: # #  SIGSEGV (0xb) at pc=0x40362d33, pid=12195, tid=2835454784 # # 

白话开发——自己动手编译Android源码

在Android Studio代码调试一文中,简单的介绍了Android Studio代码调试的一些技巧.现在呢,我们来谈谈android源码编译的一些事.(俺认为,作为android developer人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解). 本文使用最新的Ubuntu 16.04,在开始之前,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装: sudo apt-get install git git confi

【转】Ubuntu10.04上编译Android源码(Build Android source in Ubuntu10.04 Platform)

原文网址:http://blog.csdn.net/chenyafei617/article/details/6570928 一.Introduction 今天我们就来谈谈如何在Ubuntu平台上面编译android源码,我的是ubuntu10.04版本,在进行编译流程讲解之前我想讲一下 make .make snod .make kernel的作用,m.mm.mmm它们的作用以及区别. - make:                 编译源码,生成相应的系统镜像文件.             

在win7 下编译MySQL源码

MySQL MySQL是一款优秀的开源数据库,在阿里.网易等各个互联网公司中有着广泛的应用.尽管各种NoSQL大行其道,但是关系型数据库依然必不可少. 作为一个新手,在Win7下用源码安装MySql数据库并不容易.我自己都折腾了好几天.今天把安装过程记录下来,其一是为了方便自己以后学习,其二则是分享过程,让学习者能够从我这篇文章中受益. 1. 编译环境及源码下载 编译环境:Visual Studio 2010 (Win7 32位) 编译工具: bison-2.4.1-setup.exe 下载地址