CouchDB安装

下面我们来说一说这个CouchDB。

CouchDB是一个完全局域RESTful
API的键值数据库,也就是说我们不需要任何客户端,只需要通过HTTP请求就可以操作数据库了。LevelDB是Peer的本地数据库,那么肯定是和Peer一对一的关系,那么CouchDB是个网络数据库,应该和Peer是什么样一个关系呢?在生产环境中,我们会为每个组织部署节点,而且为了高可用,可能会在一个组织中部署多个Peer。同样我们在一个组织中也部署多个CouchDB,每个Peer对应一个CouchDB。

HyperLedger在Docker
Hub上也发布了CouchDB的镜像,为了能够深入研究CouchDB和Fabric的集成,我们就采用官方发布的CouchDB来做。
docker pull klaemo/couchdb
【注意,如果我们是docker pull couchdb,那么只能获得1.6版本的CouchDB,而要获得最新的2.0版,就需要用上面这个镜像。】


可以获得官方的CouchDB镜像。CouchDB在启动的时候需要指定一个本地文件夹映射成CouchDB的数据存储文件夹,所以我们可以在当前用户的目录下创建一个文件夹用于存放数据。(这里只修改peer0.org1,其他的可以依照这个修改)
mkdir couchdb0docker run -p 5984:5984 -d --name couchdb0 -e COUCHDB_USER=admin
-e COUCHDB_PASSWORD=password -v ~/fabric/couchdb0:/opt/couchdb/data
klaemo/couchdb
其他几个peer 对应的可以将端口映射改为6984,


修改docker-compose-cli.yaml这个文件。如果要基于这个yaml文件启用CouchDB的Peer,则打开该文件,并编辑其中的Peer节点,改为如下的形式:

peer0.org1.example.com: 
  container_name: peer0.org1.example.com 
  environment: 
    - CORE_LEDGER_STATE_STATEDATABASE=CouchDB 
    - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=192.168.12.231:5984 
    - CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME=admin 
    - CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD=password 
  extends: 
    file:  base/docker-compose-base.yaml 
    service: peer0.org1.example.com


这里的192.168.12.231:5984是我映射CouchDB后的Linux的IP地址和IP。然后是设置用户名和密码。把4个Peer的配置都改好后,保存,我们试着启用Fabric:
./network_setup.sh up
等Fabric启动完成并运行了ChainCode测试后,我们刷新http://192.168.12.231:5984/_utils
,可以看到以Channel名字创建的Database,另外还有几个是系统数据库。

友情链接
ioDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信