装docker
1.卸载旧版
首先如果系统中已经存在旧的Docker,则先卸载:
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
2.配置Docker的yum库
首先要安装一个yum工具
yum install -y yum-utils
安装成功后,执行命令,配置Docker的yum源:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.安装Docker
最后,执行命令,安装Docker
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4.启动和校验
启动Docker
systemctl start docker
停止Docker
systemctl stop docker
重启
systemctl restart docker
设置开机自启
systemctl enable docker
执行docker ps命令,如果不报错,说明安装启动成功
docker ps
查询版本号
docker --version
Docker-Compose安装
获取Docker-Compose的github仓库提供的二进制文件,其中版本号1.29.2可切换到更新版本,-o则输出到指定位置
依赖 curl 进行下载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
修改执行权限 sudo chmod +x /usr/local/bin/docker-compose
检测安装是否成功 docker-compose --version
Python部署
python版本要求使用python3.x, 推荐使用python3.6及以上版本
sudo yum install -y python36
sudo yum install -y python36-pip
数据库部署
创建repo文件sudo vi /etc/yum.repos.d/mariadb.repo
文件内容,此处使用的是中科大镜像源
[mariadb]name = MariaDBbaseurl = http://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDBgpgcheck=1
更新yum源缓存数据 yum clean allyum makecache all
安装`MariaDB 10.3 如果已存在使用sudo yum install -y mariadb*命令安装的MariaDB,其版本默认为5.5版本,对应Mysql版本为5.5。新版本MariaDB无法兼容升级,需要先卸载旧版本的MariaDB,卸载前需要备份数据库内容,卸载命令可参考yum remove mariadb
sudo yum install MariaDB-server MariaDB-client -y
启停 启动:sudo systemctl start mariadb.service
停止:sudo systemctl stop mariadb.service
sudo systemctl enable mariadb.service
初始化 执行以下命令:
sudo mysql_secure_installation
以下根据提示输入:
Enter current password for root (enter for none):<–初次运行直接回车Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车New password: <– 设置root用户的密码Re-enter new password: <– 再输入一次你设置的密码Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
测试连接和创建数据库 登录数据库
mysql -utest -p123456 -h localhost -P 3306
test:用户名
123456:密码(根据自己的设置修改)
3306:端口号
环境检查
需要满足以下条件
检查Docker
docker --version
检查Docker-Compose
docker-compose --version
检查Python(使用Python3.6或以上版本)
python --version// python3时python3 --version
PyMySQL部署(Python3.6+,Python3.6及以上版本,需安装PyMySQL依赖包)
sudo yum -y install python36-pipsudo pip3 install PyMySQL
检查服务器网络策略
网络策略检查:
开放WeBASE管理平台端口:检查webase-web管理平台页面的端口webPort(默认为5000)在服务器的网络安全组中是否设置为开放。如,云服务厂商如腾讯云,查看安全组设置,为webase-web开放5000端口。若端口未开放,将导致浏览器无法访问WeBASE服务页面
开放节点前置端口:如果希望通过浏览器直接访问webase-front节点前置的页面,则需要开放节点前置端口frontPort(默认5002);由于节点前置直连节点,不建议对公网开放节点前置端口,建议按需开放
拉取部署脚本
获取部署安装包:
wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-deploy.zip
解压安装包:
unzip webase-deploy.zip
进入目录:
cd webase-deploy
拉取镜像
在上文已配置Docker镜像源为国内镜像源后,我们执行pullDockerAll命令,部署服务将拉取所需的Docker镜像,包括 fiscoorg/fiscobcos, webasepro/webase-front, webasepro/webase-node-mgr, webasepro/webase-sign, webasepro/webase-web,并根据配置确认是否拉取 mysql:5.6 的数据库镜像
备注:
请确认已配置Docker镜像源为国内镜像源,以提高拉取镜像的速度。可通过cat /etc/docker/daemon.json
进行查看
拉取镜像开始前需要输入一个拉取超时时间,如60,即60s拉取未完成则提示超时 超时拉取的镜像,可通过docker
pull进行手动拉取,如手动拉取
webase-front v1.5.3的镜像为docker pull webasepro/webase-front:v1.5.3
拉取时,可输入拉取超时时间,默认为60s
python3 deploy.py pullDockerAll
部署
执行installDockerAll命令,部署服务将使用Docker自动部署并启动 FISCO BCOS节点 与 WeBASE 中间件服务,包括:签名服务(sign)、节点前置(front)、节点管理服务(node-mgr)、节点管理前端(web)
备注:
部署脚本会拉取相关Docker镜像进行部署,需保持网络畅通
首次部署需要初始化数据库,重复部署时可以根据提示不重复操作
部署过程中出现报错时,可根据错误提示进行操作,或根据本文档中的常见问题进行排查
不要用sudo执行脚本,例如sudo python3 deploy.py
installDockerAll(sudo会导致无法获取当前用户的环境变量如JAVA_HOME)
确保已安装Docker与Docker-Compose、配置Docker国内镜像源并配置Docker用户组
部署并启动所有服务(重新安装时需要先停止服务再重新安装,避免端口占用)
python3 deploy.py installDockerAll
部署完成后可以看到deploy has completed的日志: