跳转至

环境部署

说明:支持linux、mac amd64/arm64架构

一.准备工作

1.1 环境确认

1.请确保部署主机的Docker版本v19.03及以上;

$ docker -v
Docker version 20.10.14, build a224086

2.请确保部署主机的Docker-compose版本 v1.27.4及以上;

$ docker-compose -v
docker-compose version 1.29.2, build 5becea4c

1.2 mac 安装

mac 安装docker 桌面时会自动安装docker-compose工具

方法一:
brew install --cask --appdir=/Applications docker

方法二:
进入 https://docs.docker.com/desktop/mac/install/ 页面下载部署包

1.3 linux

centos

安装docker:
sudo yum install -y yum-utils
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
systemctl enable docker 
systemctl daemon-reload
systemctl start docker

安装docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

ubuntu

安装docker:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
systemctl enable docker 
systemctl daemon-reload
systemctl start docker

安装docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

二.启动部署

注意:如果在mac启动,请选择可mount路径执行

1.解压部署包

unzip baas.zip
2.启动baas服务
cd baas
./baas.sh up
第一次启动时会拉取镜像,网络慢的话会耗时一些,启动成功后按照提示访问http://127.0.0.1:80,远程访问的话替换对应ip和端口

三.停止服务

./baas.sh down

四.常见问题

4.1.baas 启动失败

『could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the n』

修改docker-compose.yaml如下:

networks:
  xuperchain:
    ipam:
      config:
        - subnet: 172.31.1.0/24

4.2.连接XuperOS失败

1、先检查机器是否可以访问外网(curl www.baidu.com);
2、检查docker iptables是否为true(/etc/docker/daemon.json),如果不是则改为true,重启docker(service docker restart)

4.3.一键连接网络时节点请求失败

1、检查机器是否可以访问节点;
2、节点http格式是否正确(类似于http://192.168.48.5:37301);
3、节点grpc地址格式是否正确(类似于192.168.48.5:37101)

4.4.节点http地址如何输入

超级链v5.*节点配置文件server.yaml中
GWPort字段即http端口;同时需要设置adapterAllowCROS
: true同意跨域请求

4.5.端口占用

如果启动后报错,错误信息如下:

ERROR: for gateway  Cannot start service gateway: Ports are not available: listen tcp 0.0.0.0:80: bind: address already in use
那么需要修改docker-compose.yaml,比如可以看出这次是gateway的端口80被占用,则改成其他没有被占用的端口,修改方法如下:
vim docker-compose.yaml

将services.gateway.ports"80:80"改成"8088:80"
######################
services:

  gateway:
    image: traefik:v2.6
    container_name: gateway
    command: --api.insecure=true --providers.docker
    ports:
      - "8088:80"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - xuperchain
    depends_on:
      - xbaas-core
      - xbaas-explorer
 ######################   

4.6 Mounts denied

如果在mac上启动baas遇到如下错误,可将部署包迁移到可Mounts目录再启动或直接将当前路径添加为可Mount地址,详情见:https://docs.docker.com/desktop/mac/

ERROR: for elasticsearch  Cannot start service elasticsearch: Mounts denied:
...
ERROR: for mysql  Cannot start service mysql: Mounts denied:
...
ERROR: for node1.xchain.com  Cannot start service node1.xchain.com: Mounts denied:
...
ERROR: for elasticsearch  Cannot start service elasticsearch: Mounts denied:
...
ERROR: for mysql  Cannot start service mysql: Mounts denied:
...
ERROR: for node1.xchain.com  Cannot start service node1.xchain.com: Mounts denied: