上云无忧 > 文档中心 > 百度智能云超级链BaaS Fabric-Dapp开发指南 - Dapp部署
超级链BaaS平台
百度智能云超级链BaaS Fabric-Dapp开发指南 - Dapp部署

文档简介:
Dapp部署是指将我们开发完成的Dapp应用层进行部署。因为Dapp应用层只是一个前端React App,理论上我们只是寻找一个Dapp js的托管服务器。当用户访问Dapp的线上地址时,浏览器获得HTML+CSS+JS,之后所有的交互响应都不再与托管服务器有关。 【百度智能云】可信计算平台
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

Dapp部署是指将我们开发完成的Dapp应用层进行部署。因为Dapp应用层只是一个前端React App,理论上我们只是寻找一个Dapp js的托管服务器。当用户访问Dapp的线上地址时,浏览器获得HTML+CSS+JS,之后所有的交互响应都不再与托管服务器有关。

这里我们依托百度云CCE容器服务来部署我们的托管服务器。

什么是CCE容器服务

CCE容器服务是基于Kubernetes构建的轻量级分布式容器编排引擎。事实上,超级链BaaS平台服务提供的区块链节点也是托管在CCE集群上的。Kubernetes能够帮助用户快速部署定义好的应用服务,并且能够完全自动化地对应用实例进行健康检查、故障重启自恢复。另外还有应用实例自动水平扩缩容、持续集成构建流、配置管理、服务发现等高级功能。Kubernetes是业界服务托管的趋势。

使用CCE做应用托管,首先需要将应用打包成Docker镜像。因为Kubernetes对应用实例(Pod)的所有定义都是围绕容器实例(Container)来完成的。

Dapp镜像化

Docker是一种有助于加速开发和部署过程的技术,Docker可以很轻松地将小型独立服务运行环境封装起来。 它还有助于消除特定于环境的错误,因为我们可以在本地复制生产环境。

Docker环境安装

Docker安装请参考官方文档,一般的,可以使用系统包管理器一键安装。这里不再赘述。本文使用的Docker版本为18.09.02,请读者确保Docker版本至少大于1.9.1。

Dockerfile定义

我们在项目根目录下创建一个Dockerfile文件,内容为

FROM node:10.16.0
RUN mkdir /usr/src/appdock
WORKDIR /usr/src/app
ENV PATH /usr/src/app/node_modules/.bin:$PATH
COPY package.json /usr/src/app/package.json
RUN npm install --silent
COPY . /usr/src/app
ARG BLOCKCHAIN_TYPE
ENV BLOCKCHAIN_TYPE='fabric'
ARG FABRIC_NETWORK_CONFIG_PATH
ENV FABRIC_NETWORK_CONFIG_PATH='artifacts/test-config.yaml'
ARG FABRIC_CHANNEL_NAME
ENV FABRIC_CHANNEL_NAME='nml-channel'
ARG FABRIC_CHAINCODE_NAME
ENV FABRIC_CHAINCODE_NAME='map'
RUN npm run build
RUN apt-get update && apt-get install -y nginx
RUN cp -a /usr/src/app/dist/* /var/www/html/
RUN echo "daemon off;">>/etc/nginx/nginx.conf
RUN chmod a+x ./entrypoint.sh
RUN sed -i '53i location ^~ /api/ { proxy_pass http://127.0.0.1:4000; }' /etc/nginx/sites-enabled/default
EXPOSE 80
ENTRYPOINT ["./entrypoint.sh"]

//enrtypoint.sh
#!/bin/bash
nohup npm run server &
nginx

再创建一个.dockerignore文件,过滤掉不需要载入到镜像内的文件,内容为

node_modules
.git
.gitignore
README.md

Docker镜像制作

运行docker build命令即可

$ docker build -t notewall-dapp:latest .

构建好本地镜像后,我们可以直接在本地运行这个Docker镜像,确认镜像没有问题。

$ docker run -p 8080:80 -d notewall-dapp:latest

用浏览器访问本地的8080,就能够看到我们的便签板应用啦。

Docker镜像上传

接下来我们将构建好的Dapp镜像上传推送到百度云镜像仓库,用来在百度云CCE服务上直接部署Dapp。 上传前我们需要开通镜像,请参考百度云镜像仓库使用说明 配合本文档,我们提供了一个已经上传好的镜像地址 hub.baidubce.com/jpaas-public/notewall-dapp:latest

如何用百度CCE服务发布Dapp

在上传完镜像后,我们开始试用CCE服务。

  1. 首先我们需要按照使用说明创建集群。
  2. 我们打开创建好的CCE集群控制台,进入集群列表页,点击集群右侧的“控制台”

  3. 在新打开的控制台中,我们点击右上角“+创建”按钮,在“从文本输入框创建”标签页中,我们输入如下yaml内容
---
apiVersion: v1
kind: Service
metadata:
  name: notewall
  labels:
    app: notewall
spec:
  type: LoadBalancer 
  ports:
  - port: 80
  selector:
    app: notewall
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: notewall
spec:
  selector:
    matchLabels:
      app: notewall
  replicas: 3
  template:
    metadata:
      labels:
        app: notewall
    spec:
      containers:
      - name: notewall-dapp
        image: hub.baidubce.com/jpaas-public/notewall-dapp:latest
        ports:
        - containerPort: 80

如图所示


点击上传后,就会按照上述yaml描述的资源规范在CCE集群创建一个外网可以访问的服务。

  1. 稍等片刻,我们可打开左侧“服务发现与负载均衡”,“服务”列表内找到notewall服务,点击外部端点提供的IP:Port形式的URL就能访问到便签板Dapp

到此我们的便签板Dapp部署完成,外网已经能够访问。

相似文档
  • Quorum联盟链操作演示: 介绍百度智能云Quorum联盟链和使用联盟链配置便签的演示操作。 【百度智能云】可信计算平台
  • XUPERBAAS常见问题: 1. XUPERBAAS 如何处理欠费网络? XUPERBAAS 会保留欠费网络七天,七天后会自动删除网络。欠费期间网络不可用,充值后网络才可恢复使用。 【百度智能云】可信计算平台
  • 协议生效时间:2022年03月01日。 本服务等级协议(Service Level Agreement,以下简称 "SLA")规定了百度智能云向客户提供的超级链BaaS平台(Baidu Xuper BaaS)的服务可用性等级指标及赔偿方案。 【百度智能云】可信计算平台
  • 数字商品可信登记平台是基于区块链能力搭建的、利用区块链技术实现数字商品的发行与管理的SAAS平台,助力客户将自己的业务实现数字经济化。
  • 高性能、强稳定性: 百度区块链拥有完备的技术栈,具有先进的区块链执行引擎,全球专利排行第五名,性能卓越,整体网络可达20wTPS。 轻松接入、便捷发布: 提供全面的API接口,让您无需了解区块链或智能合约的底层技术就能轻松地发行和管理,助力不同业务场景的数字化。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部