AI盒子 一键部署操作文档

第一步

环境检测

使用docker -v命令进行查看是否具有docker环境

root@nvidia-desktop:~# docker -v
Docker version 20.10.7, build 20.10.7-0ubuntu5~18.04.3

如果没有docker环境,可自行进行安装。

第二步

拷贝镜像tar文件
cd /
#创建文件夹
mkdir aibox
#移动文件到指定目录
cp /media/nvidia/XXXX硬盘名/aibox-deploy.tar /aibox

第三步

将tar包导成镜像
cd aibox
#将tar包导成镜像
docker load -i xxxxxx.tar
#查看镜像
root@nvidia-desktop:/aibox# docker images
REPOSITORY     TAG       IMAGE ID       CREATED              SIZE
aibox-deploy   1.0.3     a049726fa4eb   About a minute ago   14.5GB
root@nvidia-desktop:/aibox# 

第四步:

移动模型文件

​ 该模型名称应该与数据库中的模型名称对应上,如果对应不上,待项目启动后,进入系统进行更改,并重启平台

cd aibox
mkdir uploadPath
cd uploadPath
mkdir model_store
cd model_store

#将模型移到该目录小
#注意:模型的最终文件形式为  /aibox/uploadPath/xxxx/best.pt

aibox
  └── uploadPath
      └── model_store
          ├── common		     				#模型名
          │       └── best.pt				    #模型文件		
          ├── mask				        		#模型名
          │       └── best.pt				    #模型文件
          └── safety_hat				    	#模型名
                   └── best.pt				     #模型文件

第五步

启动镜像

启动平台镜像 docker run -idt --name [自定义容器名称] --runtime nvidia --net=host [镜像名称]:[镜像版本号] bash

查看容器启动日志:docker logs -f [容器名] 查看日志 例子:docker run -idt --name aibox1.0.3 --runtime nvidia --net=host aibox-deploy:1.0.3 bash

具体操作如下:

root@nvidia-desktop:/aibox# docker run -idt -v /aibox/uploadPath:/usr/local/server/aicsp/uploadPath --name aibox --net=host --runtime nvidia aibox-deploy:1.0.3 bash
2cee2b57982796c9854830558b1361f42e3560dc173e0423b52209806cfece70    #出现这个一行,便表示该平台容器已经启动
root@nvidia-desktop:/aibox# docker logs -f aibox					#查看容器启动日志
正在清理异常退出所占用的PID文件...
清理完成...
正在清理异常退出导致的MYSQL LOCK占用的文件...
清理完成...
启动redis服务...
Starting Redis server...
Redis is running...
修改Mysql目录权限....
修改mysql用户信息....
usermod: no changes
启动mysql服务...
 * Stopping MySQL database server mysqld                                 [ OK ] 
 * Starting MySQL database server mysqld                                 [ OK ] 
启动SRS服务...
启动大屏服务...
Using CATALINA_BASE:   /usr/local/server/apache-tomcat
Using CATALINA_HOME:   /usr/local/server/apache-tomcat
Using CATALINA_TMPDIR: /usr/local/server/apache-tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/server/apache-tomcat/bin/bootstrap.jar:/usr/local/server/apache-tomcat/bin/tomcat-juli.jar
Tomcat started.
启动AI平台....
Start /usr/local/server/aicsp/aicsp-ipc.1.0.0.jar success...

#出现以上日志内容便表示该容器中的服务已经处于启动的状态

第六步:

修改IP信息

  • 获取本机的IP地址 :ifconfig

  • 登录到平台修改参数:

    • 系统管理 –> 参数管理
  • 修改以下参数的IP为获取到的本机的IP

    • big_screen_url_admin #管理员大屏访问地址
    • big_screen_url #大屏访问地址
    • screen_url #大屏缓存数据图片链接
    • srs_ip #SRS推流服务IP
修改模型信息:

这一步只是针对于在上传模型的时候,名称与平台中模型标识不一致的信息,如果一直,省略该步骤

  • AI能力管理 -> AI模型管理
  • 新增或者编辑 【该步骤的信息,与第四步中的模型信息相匹配】

注意:这个时候其实并完成项目的部署

  • 项目的视频流并没有进行推流
  • 项目的模型并没有一定启动

第六步

设置开机启动

vim /etc/rc.local 
#新增以下内容
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#!/bin/bash
sleep 1
sudo docker start aibox1 >/aibox/rc.log 2>&1 &
exit 0

📢注意:

如果系统为Ubuntu18,该方法将不生效。操作方法如下:

ubuntu 18.04 不再使用 inited 管理系统,改用 systemd

第一步:
ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
第二步:
sudo echo "
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
" >> /etc/systemd/system/rc-local.service
第三步:
chmod +x /etc/rc.local

第七步

重启机器测试

#直接命令行输入 以下命令进行重启机器
reboot

机器重启后,所有的设置才会真正生效,在配置正确的情况下,服务会正常运行。

其他命令

重启项目:

命令行输入:docker restart aibox

设置docker服务检测

#!/bin/sh
#Filename: check-docker-service.sh


PROC_NAME=dockerd
ProcNumber=`ps -ef |grep -w $PROC_NAME|grep -v grep|wc -l`
time1=$(date)
if [ $ProcNumber -le 0 ];then
   echo "$time1 :Docker service is not run" >> /root/check-docker-service.log
   systemctl start docker
   echo "$time1 :command:{ systemctl start docker } is execute" >> /root/check-docker-service.log
   
else
   echo "$time1 :Docker service is running.."  >> /root/check-docker-service.log
fi

设置定时任务执行上面的脚本

sudo su #切换root用户添加crontab   否则添加的任务会没有权限

crontab -e
#添加下面的命令   每5分钟执行一次
*/5  * * * * sh /ai_server/dockerPackage/check-docker-service.sh
文档更新时间: 2023-12-18 03:25   作者:JeffreyCheung