# 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
docker --version
docker run hello-world
# 授權Docker.app
sudo xattr -dr com.apple.quarantine /Applications/Docker.app
所有平臺通用驗證命令:
docker --version # 查看版本
docker info # 顯示系統信息
docker run hello-world # 運行測試容器
Fabric是Linux基金會主導的企業級區塊鏈框架,特點包括: - 模塊化架構 - 支持多種共識機制 - 權限管理(Permissioned Network) - 智能合約(Chaincode)支持多種語言 - 高性能交易處理
確保已安裝: - Docker 18.06+ - Docker Compose 1.22+ - Go 1.11+(如需開發Chaincode) - Git
# 檢查版本
docker-compose --version
go version
# 創建工作目錄
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
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
以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容器
docker exec -it cli bash
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
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"]}'
# 將當前用戶加入docker組
sudo usermod -aG docker $USER
newgrp docker
docker-compose.yaml
中的端口映射,例如:ports:
- "7051:7051" → "8051:7051"
// /etc/docker/daemon.json
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
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. 擴展學習建議
可根據實際需要調整各部分詳細程度或添加更多故障排查案例。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。