使用命令 uname -r 查看当前系统内核版本,Docker 要求 CentOS 系统的内核版本高于 3.10,我的是3.10.0
yum remove docker docker-common docker-selinux docker-engine
网上教程很多,不难,但有几点需要注意下
注意: (1)go的版本必须是1.11以上,使用 go version 查看;
(2)python2一般linux系统自带
(3)node安装8.X版本使用 node -v 查看
docker版本大于17.X就可以, 这里我们选择18.06.3的稳定版本。
(1)安装 yum-config-manager
yum -y install yum-utils
(2)添加仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(3)yum 缓存
yum makecache
(4)查看yum docker版本
yum list docker-ce.x86_64 --showduplicates |sort -r
注意: 安装指定版本 docker-ce 18.06 被 docker-ce-selinux 依赖, 不能直接yum 安装 docker-ce-selinux
(5)开始安装
先安装docker-ce-selinux,这个安装17.03.2版本就行
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
yum install policycoreutils-python -y
rpm -ivh docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
这里安装最新的稳定版本 yum -y install docker-ce-18.06.3.ce
(6)启动docker
[root@master ~]# systemctl start docker
查看docker是否运行:
[root@master ~]# systemctl status docker
设置docker开机自启动:
[root@master ~]# systemctl enable docker
查看docker version
[root@master ~]# docker version
docker run hello-world
第一次运行会拉取hello-world镜像,稍微慢一点,
前后有一堆话,中间有一句Hello from Docker!,证明安装成功。
$ sudo curl -L “https://github.com/docker/compose/releases/download/1.23.2/docker-compose- ( u n a m e − s ) − (uname -s)- (uname−s)−(uname -m)” -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
至此,软件的安装基本结束,下一步开始安装fabric源码,
$ mkdir $GOPATH/src/github.com/hyperledger
$ cd $GOPATH/src/github.com/hyperledger
$ git clone https://github.com/hyperledger/fabric.git
切换版本到1.4
$ git checkout -b release-1.4 origin/release-1.4
$ cd fabric/script
下载镜像
$ ./bootstrap.sh
$ cd fabric/scripts/fabric-samples/first-network/
$ ./byfn.sh generate
这一步会生成公私钥、证书、cryptogen、configtx、创世区块、锚节点等。
$ ./byfn.sh up
耐心等待,出现end则说明运行正常
感兴趣的可以仔细看一下命令行中的日志或者研究一下byfn.sh,里面详细记录了如何搭建自己的区块链网络,包括创建channel、不同的节点加入channel、更新锚节点、安装链码、链码实例化、e2e例子里的转账操作、查询交易等。
关闭网络
$ ./byfn.sh down
至此,一个简单的fabric1.4网络就搭建成功了,但是这里只是用了官方的脚本启动了预配置的文件,不能个性化定制,后续可以按照byfn.sh里一步一步自己运行。
以后有时间会专门出一期解析byfn.sh脚本的博客。
以上