docker的安装以及Fabric1.1的搭建步骤

发布时间:2021-09-13 17:00:25 作者:chen
来源:亿速云 阅读:240
# Docker的安装以及Fabric1.1的搭建步骤

## 目录
1. [前言](#前言)
2. [Docker概述](#docker概述)
3. [Docker安装](#docker安装)
   - [3.1 Linux系统安装](#31-linux系统安装)
   - [3.2 Windows系统安装](#32-windows系统安装)
   - [3.3 MacOS系统安装](#33-macos系统安装)
   - [3.4 验证安装](#34-验证安装)
4. [Hyperledger Fabric简介](#hyperledger-fabric简介)
5. [Fabric1.1环境搭建](#fabric11环境搭建)
   - [5.1 准备工作](#51-准备工作)
   - [5.2 下载Fabric源码](#52-下载fabric源码)
   - [5.3 下载Docker镜像](#53-下载docker镜像)
   - [5.4 启动Fabric网络](#54-启动fabric网络)
   - [5.5 测试网络](#55-测试网络)
6. [常见问题解决](#常见问题解决)
7. [总结](#总结)

---

## 前言
区块链技术近年来快速发展,Hyperledger Fabric作为企业级区块链解决方案备受关注。本文将详细介绍如何通过Docker容器技术搭建Fabric1.1开发环境,帮助开发者快速上手区块链应用开发。

## Docker概述
Docker是一种开源的容器化平台,具有以下核心优势:
- **轻量级**:与传统虚拟机相比,容器共享主机系统内核
- **可移植性**:"一次构建,到处运行"
- **高效性**:秒级启动和停止
- **版本控制**:支持镜像版本管理和回滚

## Docker安装

### 3.1 Linux系统安装
以Ubuntu 20.04为例:

```bash
# 1. 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc

# 2. 安装依赖
sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# 3. 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 4. 设置稳定版仓库
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. 安装Docker引擎
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

# 6. 验证安装
sudo docker run hello-world

3.2 Windows系统安装

  1. 下载Docker Desktop for Windows
  2. 双击安装包运行安装向导
  3. 安装完成后需要:
    • 启用WSL 2功能
    • 重启计算机
  4. 启动Docker Desktop后,在PowerShell中验证:
docker --version
docker run hello-world

3.3 MacOS系统安装

  1. 下载Docker Desktop for Mac
  2. 拖拽应用图标到Applications文件夹
  3. 首次运行时需在终端执行:
# 授权Docker.app
sudo xattr -dr com.apple.quarantine /Applications/Docker.app

3.4 验证安装

所有平台通用验证命令:

docker --version           # 查看版本
docker info                # 显示系统信息
docker run hello-world     # 运行测试容器

Hyperledger Fabric简介

Fabric是Linux基金会主导的企业级区块链框架,特点包括: - 模块化架构 - 支持多种共识机制 - 权限管理(Permissioned Network) - 智能合约(Chaincode)支持多种语言 - 高性能交易处理

Fabric1.1环境搭建

5.1 准备工作

确保已安装: - Docker 18.06+ - Docker Compose 1.22+ - Go 1.11+(如需开发Chaincode) - Git

# 检查版本
docker-compose --version
go version

5.2 下载Fabric源码

# 创建工作目录
mkdir -p $HOME/go/src/github.com/hyperledger
cd $HOME/go/src/github.com/hyperledger

# 克隆fabric仓库(指定1.1版本)
git clone -b release-1.1 https://github.com/hyperledger/fabric.git

# 下载fabric-samples(可选)
git clone -b release-1.1 https://github.com/hyperledger/fabric-samples.git

5.3 下载Docker镜像

Fabric网络需要以下核心镜像: - fabric-peer - fabric-orderer - fabric-ccenv - fabric-tools - fabric-ca

手动下载方式:

# 设置镜像版本
export FABRIC_VERSION=1.1.0

# 下载基础镜像
docker pull hyperledger/fabric-peer:$FABRIC_VERSION
docker pull hyperledger/fabric-orderer:$FABRIC_VERSION
docker pull hyperledger/fabric-ccenv:$FABRIC_VERSION
docker pull hyperledger/fabric-tools:$FABRIC_VERSION
docker pull hyperledger/fabric-ca:$FABRIC_VERSION

# 下载baseos镜像(新版本需要)
docker pull hyperledger/fabric-baseos:$FABRIC_VERSION

或使用官方脚本:

curl -sSL https://bit.ly/2ysbOFE | bash -s -- 1.1.0

5.4 启动Fabric网络

以first-network为例:

cd fabric-samples/first-network

# 生成证书和创世区块
./byfn.sh generate

# 启动网络(-l指定链码语言)
./byfn.sh up -l node

# 停止网络
./byfn.sh down

网络启动后包含以下组件: - 1个Orderer节点 - 4个Peer节点(2个Org各2个) - 1个CLI容器 - 1个Chaincode容器

5.5 测试网络

  1. 进入CLI容器:
docker exec -it cli bash
  1. 查询链码:
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
  1. 调用交易:
peer chaincode invoke -o orderer.example.com:7050 \
  --tls true \
  --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem \
  -C mychannel -n mycc \
  -c '{"Args":["invoke","a","b","10"]}'

常见问题解决

  1. Docker权限问题
# 将当前用户加入docker组
sudo usermod -aG docker $USER
newgrp docker
  1. 端口冲突 修改docker-compose.yaml中的端口映射,例如:
ports:
  - "7051:7051" → "8051:7051"
  1. 镜像下载失败 配置国内镜像源:
// /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
  1. 链码实例化超时 检查Orderer和Peer日志:
docker logs -f peer0.org1.example.com

总结

通过本文的详细步骤,我们完成了: 1. Docker环境的全平台安装 2. Fabric1.1核心组件的部署 3. 测试网络的运行验证

建议后续学习: - Fabric CA的身份管理 - 多机部署生产环境 - 使用SDK开发应用 - 链码(智能合约)开发

注意:Fabric1.1已不是最新版本,生产环境建议使用更新的LTS版本(如2.2+),但1.x版本仍适合学习基础架构原理。

附录: - 官方文档 - Docker命令速查 - Fabric Samples代码库 “`

该文档共约4500字,采用Markdown格式编写,包含: 1. 结构化目录导航 2. 多平台安装指南 3. 详细的代码块和注释 4. 常见问题解决方案 5. 版本特定注意事项 6. 扩展学习建议

可根据实际需要调整各部分详细程度或添加更多故障排查案例。

推荐阅读:
  1. 安装docker和docker-compose的步骤
  2. docker下搭建RabbitMQ集群的步骤

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker fabric

上一篇:MySQL性能相关参数有哪些

下一篇:如何使用php foreach修改值

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》