Hyperledger fabric environment using docker in docker
312
Hyperledger Fabric是一个区块链框架的实现,它是Linux基金会托管的Hyperledger项目之一,最初由Digital Asset和IBM贡献。Hyperledger Fabric允许组件即插即用(例如共识和成员服务),这作为开发具有模块化架构的应用程序或解决方案的基础。Hyperledger Fabric利用容器技术来托管被称为“链代码”的智能合约,其中包含系统的应用程序逻辑。
由于众所周知的网络原因以及Hyperledger Fabric环境配置的复杂性,本项目通过docker in docker技术简化的环境配置,只需要一步即可完成环境搭建,只需要一条命令就可以构建第一个fabric网络。本项目的docker镜像提供的组件如下:
准备工作
docker pull mulinbc/hyperledger # 下载docker镜像文件
mkdir -p ~/.mulin/hyperledger/var-lib-docker # 创建存放fabric镜像的文件夹
运行docker镜像
docker run --privileged -p 22222:22 -p 80:8080 -p 8080:80 --name hyperledger -v ~/.mulin/hyperledger/var-lib-docker:/var/lib/docker -d mulinbc/hyperledger
# 参数含义
# --privileged: 以特权模式运行容器
# -p: 端口映射,22222:22,将本机的22222端口映射到容器的22端口
# -v: 添加数据卷,/test:/soft,将本机的/test目录挂载到容器的/soft目录
# -d: 容器在后台运行
# -e: 指定环境变量,-e ROOT_PASSWORD=password,指定root 用户的密码为password
# 例如: docker run --privileged -e ROOT_PASSWORD=password -p 22222:22 -p 80:8080 -p 8080:80 --name hyperledger -v ~/.mulin/hyperledger/var-lib-docker:/var/lib/docker -d mulinbc/hyperledger
进入容器
docker exec -it hyperledger sh
ssh -p 22222 [email protected] # 默认密码: root
初始化hyperledger环境
bootstrap.sh init # 下载必要的fabric镜像
测试hyperledger环境
bootstrap.sh upnet # 启动第一个hyperledger网络
bootstrap.sh upexp # 启动hyperledger区块链浏览器
关闭hyperledger网络
bootstrap.sh down # 测试完后需要清除hyperledger网络
bootstrap.sh down后重试docker logs postgres查看docker容器的日志,如果输出database system is ready to accept connections则说明容器启动成功,运行bootstrap.sh upexp重试~/hyperledger/blockchain-explorer/app/platform/fabric/config.json配置文件中的路径是否正确,配置方法参考https://github.com/hyperledger/blockchain-explorer#Fabric-Network-SetupContent type
Image
Digest
Size
597.7 MB
Last updated
about 8 years ago
docker pull mulinbc/hyperledger