一.应用背景:
基于FISCO BCOS部署去中心化的食品溯源系统,部署方式为基于容器技术Docker,部署内容包括系统前端、后端、数据库,并在最后进行验证。具体工作内容如下:
1. 以容器的方式部署Mysql以及Redis数据库
2. 配置Dockerfile,生成系统后端的镜像
3. 配置docker-compose.yaml以容器集群的方式启动整体系统,包括系统后端、系统前端、Mysql数据库、Redis数据库。
如下图为食品溯源系统的整体架构:
1. 测量点[M]:以容器的方式部署Mysql并配置。
(1)具体试题示例:
以容器的方式启动Mysql与Redis数据库,具体要求如下:
1)Mysql:5.7数据库:对外映射3306,管理员root账户密码为123456,在用户根目录下挂载数据库用于数据存储与配置的文件夹
2)Redis数据库:对外映射端口6379
3)配置Mysql数据库,相关操作创建data_export数据库,以及user表。
(1)具体实现:
先建一个文件夹
cd foodtrace
第一步:容器启动Mysql:
docker run -itd --name food_mysql -v /home/arthur/foodtrace/datadir:/var/lib/mysql -v /home/arthur/foodtrace/conf.d:/etc/mysql/conf.d -p 3560:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
第二步:容器启动Redis:
docker run -itd --name redis -p 6379:6379 redis
注意,如果出现以下问题,需要执行停止redis操作
先停止redis,删除redis,在重新运行
service redis stop
docker rm -v redis
docker run -itd --name redis -p 6379:6379 redis
第三步:使用docker ps查看进程
在Mysql中创建data_export数据库,以及user表,当创建成功有下图内容:
先在MobaXterm里面打开连接mysql的进程
docker exec -it food_mysql bash
#进入mysql终端
mysql -uroot -p
#查看数据库
show databases;
#使用数据库
use data_export
#使用数据表
desc user;
连接数据库:端口为 MobaXterm的端口,主机为你的ip地址,密码是123456,用户名:root
连接成功之后新建数据库data_export,新建表user,在里面添加内容。
2. 测量点[M]:使用WeBASE-Front在区块链中部署食品溯源智能合约
(1)具体试题示例:
WeBASE-Front工具部署食品溯源的智能合约,具体代码带后端项目的contracts目录中,具体操作包括:
1. 使用WeBASE-Front创建admin账户,截图账户信息
2. 使用admin账户部署合约&#x