Fabric 1.1 搭建

一、環(huán)境整理

這一步并非必須,但鑒于docker容器的實(shí)際情況,理論上linux內(nèi)核需要在3.10及以上。有朋友在3.10上跑通過,具體是什么內(nèi)核版本沒詳細(xì)去確認(rèn),為了順利起見,請首先升級linux內(nèi)核到4.x(最后不成功才要升,新測3.10可跑,linuux要2G內(nèi)存以上)
1、CentOS升內(nèi)核
查看CentOS系統(tǒng)
cat /etc/redhat-release

結(jié)果顯示(7.4版本)

CentOS Linux release 7.4.1708 (Core) 
檢查當(dāng)前 CentOS 系統(tǒng)內(nèi)核版本
uname -sr 

結(jié)果顯示(4.15版本)

Linux 4.15.14-1.el7.elrepo.x86_64

升內(nèi)核要CentOS 允許使用 ELRepo,這是一個第三方倉庫,可以將內(nèi)核升級到最新主線穩(wěn)定內(nèi)核
啟動ELRepo,運(yùn)行以下命令

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
倉庫啟用后,你可以使用下面的命令列出可用的系統(tǒng)內(nèi)核相關(guān)包:
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
接下來,安裝最新的主線穩(wěn)定內(nèi)核
yum --enablerepo=elrepo-kernel install kernel-ml
查看可用的內(nèi)核
cat /boot/grub2/grub.cfg |grep menuentry 

結(jié)果顯示:

Linux 4.15.14-1.el7.elrepo.x86_64
[root@VM_0_14_centos hyperledger]# cat /boot/grub2/grub.cfg |grep menuentry 
if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'CentOS Linux (4.15.14-1.el7.elrepo.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-49f819fd-e56d-48a4-86d3-7ebe0a68ec88' {
menuentry 'CentOS Linux (0-rescue-f9d400c5e1e8c3a8209e990d887d4ac1) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-f9d400c5e1e8c3a8209e990d887d4ac1-advanced-49f819fd-e56d-48a4-86d3-7ebe0a68ec88' {
替代要用的內(nèi)核例如:

CentOS Linux (4.15.14-1.el7.elrepo.x86_64) 7 (Core)

grub2-set-default 'CentOS Linux (4.15.14-1.el7.elrepo.x86_64) 7 (Core)'
查看內(nèi)核啟動項(xiàng)是否設(shè)置成功查看內(nèi)核啟動項(xiàng)是否設(shè)置成功
grub2-editenv list

結(jié)果顯示:

saved_entry=CentOS Linux (4.15.14-1.el7.elrepo.x86_64) 7 (Core)
查詢多余的內(nèi)核
rpm -qa | grep kernel
刪除多余內(nèi)核
yum remove 你要刪除的內(nèi)核
重啟系統(tǒng)即可
reboot

二、環(huán)境安裝配置

1、docker安裝
1.1安裝Docker CE版,如果有舊的先卸載
sudo yum remove docker \ 
                               docker-common \ 
                               docker-selinux \ 
                               docker-engine
1.2 開始安裝Docker ce
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
$ sudo yum-config-manager \
 --add-repo \
 https://download.docker.com/linux/centos/docker-ce.repo
 sudo yum-config-manager --enable docker-ce-edge
 sudo yum-config-manager --enable docker-ce-test
 sudo yum-config-manager --disable docker-ce-edge
 sudo yum makecache fast
 sudo yum install docker-ce
1.3檢查是否安裝成功
[root@VM_0_14_centos hyperledger]# docker --version
Docker version 18.04.0-ce-rc1, build 0c7f7c6
1.4 啟動docker
/bin/systemctl start docker.service
2、Docker-Compose安裝

需要服務(wù)器支持curl功能,如果服務(wù)器不支持curl,需要執(zhí)行如下操作安裝curl依賴

yum install curl
2.1 安裝最新版本

根據(jù)官網(wǎng)所指向github項(xiàng)目,目前docker-compose最新版為1.15.0</br>
執(zhí)行命令

curl -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

給于權(quán)限

chmod +x /usr/local/bin/docker-compose
2.2、查看版本
[root@VM_0_14_centos hyperledger]# docker-compose --version
docker-compose version 1.15.0, build e12f3b9

docker常用命令

殺死所有正在運(yùn)行的容器
docker kill $(docker ps -a -q)

刪除所有已經(jīng)停止的容器
docker rm $(docker ps -a -q)

刪除所有鏡像
docker rmi $(docker images -q)

強(qiáng)制刪除所有鏡像
docker rmi -f $(docker images -q)
3、GO語言安裝

GO安裝鏈接</br>
==最后環(huán)境如下==

image

三、源碼下載

1、首先進(jìn)入到go的path目錄
cd $GOPATH
2、新建文件夾
mkdir -p src/github.com/hyperledger
3、然后進(jìn)入到如下路徑
/opt/gopath/src/github.com/hyperledger
4、下載fabric
git clone https://github.com/hyperledger/fabric.git
4.1、進(jìn)入到fabric目錄查看fabric的git版本
cd fabric/
git branch -a

結(jié)果顯示(當(dāng)前使用的是master分支)

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/feature/ca
  remotes/origin/feature/convergence
  remotes/origin/master
  remotes/origin/release-1.0
  remotes/origin/release-1.1
  remotes/origin/v0.6
  remotes/origin/v1.0.0-preview

4.2、切換到release-1.1分支
git checkout release-1.1

查看有沒有切換成功

git branch -a

結(jié)果顯示

  master
* release-1.1
  remotes/origin/HEAD -> origin/master
  remotes/origin/feature/ca
  remotes/origin/feature/convergence
  remotes/origin/master
  remotes/origin/release-1.0
  remotes/origin/release-1.1
  remotes/origin/v0.6
  remotes/origin/v1.0.0-preview
5、下載fabric-samples
5.1、進(jìn)入到與fabric平級的目錄
cd $GOPATH/src/github.com/hyperledger
5.2、下載源碼
git clone https://github.com/hyperledger/fabric-samples.git
5.3,進(jìn)入fabric-samples目錄,查看分支并切換到1.1
cd fabric-samples/
git branch -a
git checkout release-1.1
下載完成后的結(jié)構(gòu)應(yīng)該如下圖所示
image

四、下載鏡像和要執(zhí)行的二進(jìn)制文件

1、進(jìn)入到fabric-samples目錄

==如果網(wǎng)絡(luò)環(huán)境足夠好,能訪問外網(wǎng)的話,可以直接執(zhí)行下面這條語句就會下載所有鏡像和要執(zhí)行的二進(jìn)制的文件==

curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0
下載完成后要會多出這兩個文件bin和config
image
2、連不了外網(wǎng)的按下面執(zhí)行(下載鏡像和二進(jìn)制文件這兩個步驟)

進(jìn)到fabric目錄下的scripts
并修改bootstrap.sh

cd fabric/scripts/
vim bootstrap.sh

修改圖中圈的部分,修改為1.1.0版本,然后保存


image
運(yùn)行bootstrap.sh下載鏡像(要等幾分鐘)
./bootstrap.sh 
3、下載二進(jìn)制執(zhí)行文件
進(jìn)入到fabric-samples文件
 cd fabric-samples/
通過wget下載1.1.0版本的二進(jìn)制文件
wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.1.0/hyperledger-fabric-linux-amd64-1.1.0.tar.gz
解壓下載的文件,會發(fā)現(xiàn)多了bin和config兩個個文件夾
tar -zxvf hyperledger-fabric-linux-amd64-1.1.0.tar.gz 
把bin配置到環(huán)境
cd bin/
pwd
vim /etc/profile
source /etc/profile

修改的項(xiàng)


image
五、運(yùn)行文件
進(jìn)到fabric-samples/first-network
cd fabric-samples/first-network/
生成配置文件
./byfn.sh -m generate

選擇同意,會默認(rèn)生成mychannel

起動項(xiàng)目
./byfn.sh -m up

成功的結(jié)果:


image
成功后關(guān)閉
./byfn.sh -m down

==阿里云服務(wù)器要修改base文件夾的docker-compose-base.yaml,所有的environment下添加 -GODEBUG=netdns=go,如下圖==


image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Openstack.DockerDevOps 1、Nova nova flavor-list ...
    燕京博士閱讀 653評論 0 2
  • 蝶戀花,一個古老的傳說,一個現(xiàn)實(shí)的演繹。水墨江南,彩蝶百花。凝眸看蝶,紛紛飛...
    冰夫閱讀 209評論 0 0
  • 真的覺得很諷刺 總會有人以居高臨下 或者過來人的態(tài)度 問我:你到底想要什么? 真是無語了 我想要錢,我想要成功,我...
    25e6a8f37b9b閱讀 387評論 0 0
  • 一起下班,一起做飯,一家人再一起吃飯。 我做完家務(wù),帶孩子洗澡,老公輔導(dǎo)作業(yè)。 我陪妍睡覺,老公給萱再講會兒題。 ...
    sunfeng0912閱讀 228評論 0 3
  • 小四祝大家新年快樂~ 回家回家...... 1. 行李箱的滑輪摩擦著地面的聲音有些沙啞,這場長途跋涉的旅程確實(shí)把它...
    小四不四閱讀 272評論 2 1

友情鏈接更多精彩內(nèi)容