准备vmware虚拟机,并安装完ubuntu系统后。继续搭建fabric运行环境。。。
0。打开终端,切换root身份。目的:后续操作即可不用sudo...
右键-》open Terminal-》
//默认root用户是无固定密码的,并且是被锁定的,如果想给root设置一个密码 sudo passwd root //输入密码 & 确认密码 //切换root用户 su root //输入密码即可--root //切换为普通用户 su username //eg:su yufeng
1。安装GIT
apt-get install git //安装git
git version //查看版本号
2。安装docker 和 docker-compose(必须)
//1.卸载旧版本的Docker //旧版本的Docker被称作docker或者docker-engine,Docker CE(社区版)包现在被叫做docker-ce。如果之前安装过了,需要先卸载: apt-get remove docker docker-engine docker.io //2。使用存储库安装docker (一)。设置存储库 //【1】.更新apt安装包索引 apt-get update //【2】。安装软件包以允许apt通过HTTPS使用存储库: apt-get install apt-transport-https ca-certificates curl software-properties-common //【3】。添加Docker官方的GPG密钥: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - //【4】。安装稳定版仓库 add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" (二)。安装Docker-CE版 1。更新apt安装包索引: apt-get update 2-1。安装最新版的Docker CE apt-get install docker-ce 2-2。安装指定版本的Docker CE 【1】。查看docker版本 apt-cache madison docker-ce 【2】。安装指定版本docker apt-get install docker-ce=<VERSION> 3。通过运行hello-world镜像验证Docker CE已被正确安装: docker run hello-world //出现Hello from Docker表示成功
4.安装docker-compose
[1].安装pip
$ apt-get install python-pip
[2].安装docker-compose
$ pip install docker-compose>=1.8.0
3。安装node(必须)
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
4。安装GO及配置环境变量
【1】。下载最新版本的go二进制文件
将go的压缩文件下载到指定目录下(-P /opt :下载到指定目录/opt下)
wget -P /opt https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz
//解压缩 sudo tar -C /opt -xzf go1.9.2.linux-amd64.tar.gz
【2】。配置环境变量
vi /etc/profile
在配置文件末尾增加内容:
export GOROOT=/opt/go export GOARCH=amd64 export GOOS=linux export GOPATH=/opt/gopath export GOBIN=$GOROOT/bin export PATH=$PATH:$GOBIN
注意:上述将原博客/etc/local修改为/opt是因为在执行fabric实例时,一直报order service有问题。。且指向/opt/gopath....异常
退出编辑,输入以下命令使修改生效:
source /etc/profile
查看go环境是否安装与配置成功
go version
若出现:go version go1.9.2 linux/amd64 则表明配置成功!
说明:
关于GOPATH,这是go程序运行的目录,也就是所有编写的go程序都要放在这个目录下。
根据上述配置,我们在~目录先新建一个gopath文件夹,然后新建三个文件夹src,pkg,bin。
其中src存放源码,pkg存放编译生成的文件,bin存放生成的可执行文件。
5。下载fabric
【1】。创建工作目录
mkdir -p $GOPATH/src/github.com/hyperledger
【2】。下载fabric
cd ~/gopath/src/github.com/hyperledger git clone -b release-1.0 https://github.com/hyperledger/fabric.git
上述下载完成之后,我们可以看到当前工作目录下多了一个fabric的文件夹,这就是我们下载好的文件,这里面有我们需要的例子。
至此,我们的开发环境已经基本搭建完毕,下面将通过一个具体的例子下载fabric1.0.5的镜像并体验运行效果。
6。运行Fabric实例
//切换工作路径。进入scripts文件夹下 cd ./fabric/scripts/ //查看scripts文件夹内容 ls
当前路径下面有许多的shell脚本文件。
//下载镜像 ./bootstrap.sh
===> List out hyperledger docker images hyperledger/fabric-tools latest 6a8993b718c8 6 weeks ago 1.33GB hyperledger/fabric-tools x86_64-1.0.5 6a8993b718c8 6 weeks ago 1.33GB hyperledger/fabric-couchdb latest 9a58db2d2723 6 weeks ago 1.5GB hyperledger/fabric-couchdb x86_64-1.0.5 9a58db2d2723 6 weeks ago 1.5GB hyperledger/fabric-kafka latest b8c5172bb83c 6 weeks ago 1.29GB hyperledger/fabric-kafka x86_64-1.0.5 b8c5172bb83c 6 weeks ago 1.29GB hyperledger/fabric-zookeeper latest 68945f4613fc 6 weeks ago 1.32GB hyperledger/fabric-zookeeper x86_64-1.0.5 68945f4613fc 6 weeks ago 1.32GB hyperledger/fabric-orderer latest 368c78b6f03b 6 weeks ago 151MB hyperledger/fabric-orderer x86_64-1.0.5 368c78b6f03b 6 weeks ago 151MB hyperledger/fabric-peer latest c2ab022f0bdb 6 weeks ago 154MB hyperledger/fabric-peer x86_64-1.0.5 c2ab022f0bdb 6 weeks ago 154MB hyperledger/fabric-javaenv latest 50890cc3f0cd 6 weeks ago 1.41GB hyperledger/fabric-javaenv x86_64-1.0.5 50890cc3f0cd 6 weeks ago 1.41GB hyperledger/fabric-ccenv latest 33feadb8f7a6 6 weeks ago 1.28GB hyperledger/fabric-ccenv x86_64-1.0.5 33feadb8f7a6 6 weeks ago 1.28GB hyperledger/fabric-ca latest 002c9089e464 6 weeks ago 238MB hyperledger/fabric-ca x86_64-1.0.5 002c9089e464 6 weeks ago 238MB
并且,这个脚本运行完毕之后,我们会发现当前目录下多了一个bin文件夹,这个文件夹中所包含的可执行文件正是我们运行例子所需要的。
现在我们需要把这个文件夹复制到我们需要运行的例子的上层目录中,输入命令:
cp -rf bin/ ./../examples/
接下来我们就可以运行官方给出的例子:e2e_cli
cd ./../examples/e2e_cli/
./network_setup.sh up
正常运行结果:
关闭实例:
Ctrl+c
./network_setup.sh down
本文参考博客:
https://blog.csdn.net/diligent_lee/article/details/79141450
https://segmentfault.com/a/1190000009072224
本人操作过程中遇到的问题及解决方法
1。安装git问题
https://askubuntu.com/questions/15433/unable-to-lock-the-administration-directory-var-lib-dpkg-is-another-process
采用命令行处理
sudo rm /var/lib/apt/lists/lock sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock
2。docker安装有问题。卸载docker
https://blog.csdn.net/CSDN_duomaomao/article/details/77683607
sudo apt-get purge docker-engine //卸载docker //卸载Docker及其依赖的不再需要的包(可能需要执行多次): sudo apt-get autoremove --purge docker-engine
3。Docker compose异常解决方法
https://stackoverflow.com/questions/36685980/docker-is-installed-but-docker-compose-is-not-why
$ curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > ./docker-compose $ sudo mv ./docker-compose /usr/bin/docker-compose $ sudo chmod +x /usr/bin/docker-compose