Fabric節點通過docker容器來運作,啟動fabric網絡中的節點需要安裝docker、docker-compose、go語言環境。
Docker在伺服器上運作,核心版本不能低于3.10
主控端:win10
VMware-workstation-full-14.1.3-9474260
虛拟機:CentOS-7-x86_64-Everything-1810
注:有些目錄不存在,需要自行建立
1 安裝docker
a 設定倉庫(yum-utils提供yum-config-manager工具,裝置映射存儲驅動需要device-mapper-persistent-data和lvm2工具,是裝置/存儲驅動所需的基礎應用)
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
b 設定穩定儲存庫:
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
c 啟動edge和測試存儲庫(可選)
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test
d 安裝docker ce
線上安裝:
yum install docker-ce
安裝指定版本:
yum installdocker-ce-<version string>
離線安裝:
mkdir -p /tmp/docker/docker
yum install docker-ce-17.06.0.ce-1.el7.centos.x86_64.rpm
查詢docker版本号:
docker -v
2 安裝docker-compose
a 線上安裝 //安裝docker-compose需要伺服器支援curl指令
yum install curl
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
b 離線安裝:
下載下傳docker-compose,上傳到/tmp/docker/docker-compose
将docker-compose移動到/usr/local/bin/目錄下:
cd /tmp/docker/docker-compose
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
c 賦予可執行權限
chmod +x /usr/local/bin/docker-compose
檢視docker-compose版本
docker-compose -version
3 安裝go語言環境
線上安裝:
cd /opt
mkdir golang
cd golang
yum install wget
wget https://studygolang.com/dl/golang/go1.10.3.linux-amd64.tar.gz
tar -zxvf go1.10.3.linux-amd64.tar.gz
配置環境變量:
vi /etc/profile
添加如下内容到/etc/profile後面
export GOPATH=/opt/gopath
export GOROOT=/opt/golang/go
export PATH=$GOROOT/bin:$PATH
source /etc/profile
檢視go版本
go version
4 fabric安裝配置
離線安裝:
網址:https://github.com/hyperledger/fabric/
拷貝到 /tmp/docker-images/目錄下
然後執行:
docker鏡像導入
docker load < /tmp/docker-images/fabric-tools-1.4.1.tar
docker load < /tmp/docker-images/fabric-ccenv-1.4.1.tar
docker load < /tmp/docker-images/fabric-orderer-1.4.1.tar
docker load < /tmp/docker-images/fabric-peer-1.4.1.tar
docker load < /tmp/docker-images/fabric-ca-1.4.1.tar
docker load < /tmp/docker-images/fabric-zookeeper-0.4.15.tar
docker load < /tmp/docker-images/fabric-kafka-0.4.15.tar
docker load < /tmp/docker-images/fabric-couchdb-0.4.15.tar
docker load < /tmp/docker-images/fabric-baseos-0.4.15.ta
給docker鏡像做标簽
docker tag 432c24764fbb docker.io/hyperledger/fabric-tools:latest
docker tag d7433c4b2a1c docker.io/hyperledger/fabric-ccenv:latest
docker tag ec4ca236d3d4 docker.io/hyperledger/fabric-orderer:latest
docker tag a1e3874f338b docker.io/hyperledger/fabric-peer:latest
docker tag 3a1799cda5d7 docker.io/hyperledger/fabric-ca:latest
docker tag 20c6045930c8 docker.io/hyperledger/fabric-zookeeper:latest
docker tag b4ab82bbaf2f docker.io/hyperledger/fabric-kafka:latest
docker tag 8de128a55539 docker.io/hyperledger/fabric-couchdb:latest
docker tag 9d6ec11c60ff docker.io/hyperledger/fabric-baseos:latest
----------------------------------------運作e2e執行個體-------------------------------------------
将hyperledger-fabric-linux-amd64-1.4.1.tar.gz下載下傳并解壓到
$GOPATH/src/github.com/hyperledger/fabric/release/linux-amd64/bin
并給linux-amd64目錄賦予執行權限( 不賦權限可能會報錯)
chmod -R 777 linux-amd64/
由于Fabric 1.4開始删除了End-2-End案例,需要手動拷貝e2e_cli目錄到$GOPATH/src/github.com/hyperledger/fabric/examples目錄下
将e2e_cli目錄修改為可執行檔案
chmod -R 777 $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli
運作e2e執行個體
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli
./network_setup.sh up