人脸识容器&MQ
在docker中安装人脸识别镜像
上传镜像face.tar.gz
[root@localhost tmp]# docker load < face.tar.gz
[root@localhost tmp]# docker images
创建docker容器
解压demo.tar
[root@localhost tmp]# tar -xvf demo.tar
[root@localhost tmp]# docker run -d -it -p 3000:3000 -v /tmp/demo:/demo --name node face
[root@localhost tmp]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ef91128ee5c face "bash" 47 seconds ago Up 46 seconds 0.0.0.0:3000->3000/tcp node
运行人脸识别程序
### 进入容器
[root@localhost tmp]# docker exec -it node bash
### 退出容器
[root@localhost tmp]# exit
### 把Python程序挂起到后台运行
nohup python3 -c "from app import app;" > log.out 2>&1 &
### 查看进程
root@0ef91128ee5c:/demo# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19944 2016 ? Ss+ 07:34 0:00 bash
root 11 0.0 0.1 19944 2268 ? Ss 07:40 0:00 bash
root 17 15.5 7.8 681492 161228 ? Sl 07:41 0:03 python3 -c from app import app;
root 22 0.0 0.0 38376 1636 ? R+ 07:41 0:00 ps -aux
### 停止进程(人脸识别程序)
root@0ef91128ee5c:/demo# kill -9 17
接口调用
人脸识别程序是基于Flask框架开发的,提供Web接口,具体如下:
- 创建人脸模型数据
当Emos系统的MySQL数据库中不存在签到员工的人脸模型数据,这时候应该调用人脸识别程序的Web接口,上传照片文件,然后由Python程序识别照片中的人脸,返回人脸模型数据。Java系统接收到人脸模型数据之后,把数据保存在MySQL数据表里面。
接口名称: /create face model
请求类型: POST
传入参数: icode
返回结果:人脸模型数据 - 执行人脸签到识别
接口名称: /checkin
请求类型:POST
传入参数: icode
RabbitMQ
docker load < rabbitmq.tar.gz
docker run -it -d --name mq -p 15672:15672 -p 5672:5672 rabbitmq