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