docker-compose方式安装

安装docker服务

docker服务安装 - 切换管理员

sudo su
#输入密码
  • 查询docker版本 shell docker -v Docker version 20.10.21, build 20.10.21-0ubuntu1~20.04.1 出现上面的情况,证明docker服务已经安装,跳过这个步骤 “`shell docker -v
  • Command ‘docker’ not found, but can be installed with:
  • snap install docker # version 20.10.14, or
  • apt install docker.io # version 20.10.12-0ubuntu2~20.04.1
  • See ‘snap info docker’ for additional versions. 出现上面的情况,代表`docker`服务没有安装,先进行安装操作 shell apt install docker.io “ 安装完成后,再进行docker -v`验证一下。出现版本号则证明安装成功。

安装nvidia-docker2服务

#安装curl    
apt  install curl

#逐条执行以下命令
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add -

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | tee /etc/apt/sources.list.d/nvidia-docker.list

apt-get update

#安装nvidia-docker2软件包并重新加载docker守护程序配置
apt-get install -y nvidia-docker2
pkill -SIGHUP dockerd

docker配置参数修改

vim /etc/docker/daemon.json
{
"runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
  "data-root": "/usr/local/server/aicsp/uploadPath/docker",
  "log-driver":"json-file",
  "log-opts": {"max-size":"100m", "max-file": "3"}
}

systemctl restart docker # 重启docker

docker info | grep "Docker Root Dir"  #查看目录修改是否生效

安装docker-compose服务

docker-compose -version验证,如果有版本信息则跳过此步骤,否则进行安装

方式1

sudo curl -L https://github.com/docker/compose/releases/download/1.29.0/docker-compose-`uname -s`-`uname -m` -o  /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

方式2

apt update
apt install docker-compose
#检验安装是否成功命令:docker-compose -version

安装项目

创建基础文件夹

#进入根目录
cd /
#创建文件夹
mkdir aibox
#设置权限
chown ipc ./aibox 

上传项目包

aicsp.zip 上传至 /aibox 目录中。

#解压
unzip /aibox/aicsp.zip
cd /aibox/aicsp
chmod 755 ./build.sh ./restart.sh ./stop.sh
./build.sh

到这一步,部署完成。

注意点:

在安装的过程中,需要进行联网进行安装字体,否则会导致平台缺失字体导致验证码不显示问题

docker方式安装

在线安装

第一步:检查是否安装了docker

sudo su #输入密码

root@mypc-desktop:/home/mypc# docker -version
Command 'docker' not found, but can be installed with:
snap install docker     # version 20.10.14, or
apt  install docker.io  # version 20.10.12-0ubuntu2~20.04.1
See 'snap info docker' for additional versions.
###############################

第二步:安装docker

注意 :已安装docker的跳过此步骤

root@mypc-desktop:/home/mypc# apt  install docker.io
------------------------------------------------------
root@mypc-desktop:/home/mypc# docker -v
Docker version 20.10.12, build 20.10.12-0ubuntu2~20.04.1  #  出现版本号,证明docker 安装成功

第三步:拉取镜像

#登录dockerHub账号
root@mypc-desktop:/home/mypc# docker login -u zhangfayuan
Password: zhang01110010
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
#拉取镜像
root@mypc-desktop:/home/mypc# docker pull zhangfayuan/aibox:v1.0.1
v1.0.1: Pulling from zhangfayuan/aibox
40dd5be53814: Pull complete 
0645c48e225b: Pull complete 
8889d023c18e: Pull complete 
74115353f57d: Pull complete 
9e0ea72fe76c: Pull complete 
13f51f3f80fd: Pull complete 
c4ba9103d17d: Pull complete 
8d9b8d71f868: Pull complete 
97badaa6a776: Pull complete 
63041bc7286a: Pull complete 
5f237510596a: Pull complete 
e84ba40a3ba2: Pull complete 
3514d699b3b1: Pull complete 
d6379c113197: Pull complete 
383de3c5d7cf: Pull complete 
32bc74c8408d: Pull complete 
08d2c3256245: Pull complete 
bebbd0bac501: Pull complete 
0a726c81dddb: Pull complete 
7f13c73ec742: Pull complete 
f94bde7b7670: Pull complete 
68a87c8baf64: Pull complete 
Digest: sha256:b564fc1be38e3682d6aaafded7f7d22ab46b7080495b56f4815d4d932acf5a2c
Status: Downloaded newer image for zhangfayuan/aibox:v1.0.1
docker.io/zhangfayuan/aibox:v1.0.1
root@mypc-desktop:/home/mypc# docker images
REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
zhangfayuan/aibox   v1.0.1    b977035f7cd9   17 hours ago   62.8GB

第四步:启动镜像

https://blog.csdn.net/m0_51309197/article/details/123261224

docker run -itd --net=host --restart=always   --name aibox --runtime=nvidia -v /usr/local/server/aicsp/upload/audio/:/usr/local/server/aicsp/upload/audio/ -v /usr/local/server/aicsp/upload/streamrecord/:/usr/local/server/aicsp/upload/streamrecord/ -v/usr/local/server/aicsp/upload/ffmpeg/:/usr/local/server/aicsp/upload/ffmpeg/ hjkj123/aicsp:v2.0.1


#docker run -itd --net=host --restart=always -v /usr/local/server/aicsp/uploadPath:/usr/local/server/aicsp/uploadPath  --name aibox --runtime=nvidia zhangfayuan/aibox:v1.0.1 
#如果出现  docker: Error response from daemon: Unknown runtime specified nvidia. 报错  ,请先安装显卡驱动

docker logs -f aibox # 查看启动日志信息

第五步:设置docker服务检测

#创建目录库
mkdir aibox
cd aibox

#创建docker服务检测服务脚本
vim check-docker-service.sh
写入以下内筒:
#!/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
设置定时任务执行上面的脚本
crontab -e
#每5分钟执行一次
*/5  * * * * sh /aibox/check-docker-service.sh
#设置服务每天凌晨2点半进行重启
30 2 * * * docker restart aibox

第六步:修改平台IP配置

tar包部署

第一步:检查是否安装了docker

sudo su #输入密码

root@mypc-desktop:/home/mypc# docker -version
Command 'docker' not found, but can be installed with:
snap install docker     # version 20.10.14, or
apt  install docker.io  # version 20.10.12-0ubuntu2~20.04.1
See 'snap info docker' for additional versions.
###############################```

第二步:安装docker

注意 :已安装docker的跳过此步骤

root@mypc-desktop:/home/mypc# apt  install docker.io
------------------------------------------------------
root@mypc-desktop:/home/mypc# docker -v
Docker version 20.10.12, build 20.10.12-0ubuntu2~20.04.1  #  出现版本号,证明docker 安装成功

第三步:安装nvidia-smi

1、执行以下命令
1.1 curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add -
1.2 distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
1.3 curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | tee /etc/apt/sources.list.d/nvidia-docker.list
1.4 apt-get update

2、安装nvidia-docker2软件包并重新加载docker守护程序配置
2.1 apt-get install -y nvidia-docker2
2.2 pkill -SIGHUP dockerd

第四步:拷贝tar包

从硬盘中将tar包拷贝到服务器任意目录

第五步:tar包转成镜像

  • 进入tar包的目录

  • 执行命令

  docker load -i ./aicsp_v2.0.1.tar #大概需要25分钟左右

第六步:启动容器

#查看镜像
root@ipc-NUC9i7QNX:/usr/local/DockerImages# docker images
REPOSITORY      TAG       IMAGE ID       CREATED        SIZE
hjkj123/aicsp   v2.0.1    47e9e76c41f7   23 hours ago   67.5GB
#地洞容器
root@ipc-NUC9i7QNX:/usr/local/server# docker run -itd --net=host --restart=always   --name aibox --runtime=nvidia -v /usr/local/server/aicsp/upload/audio/:/usr/local/server/aicsp/upload/audio/ -v /usr/local/server/aicsp/upload/streamrecord/:/usr/local/server/aicsp/upload/streamrecord/ -v/usr/local/server/aicsp/upload/ffmpeg/:/usr/local/server/aicsp/upload/ffmpeg/ hjkj123/aicsp:v2.0.1
415e19d4e5bf90a5489e3277dd487d4dffa188e4a6ff5d2e187ed0ed41e3a4fb
root@ipc-NUC9i7QNX:/usr/local/server# 
#查看启动结果
root@ipc-NUC9i7QNX:/usr/local/server/aicsp/upload/ffmpeg# docker ps
CONTAINER ID   IMAGE                  COMMAND                  CREATED              STATUS              PORTS     NAMES
415e19d4e5bf   hjkj123/aicsp:v2.0.1   "/bin/sh -c '/usr/lo…"   About a minute ago   Up About a minute             aibox
#查看日志
root@ipc-NUC9i7QNX:/usr/local/server/aicsp/upload/ffmpeg# docker logs -f aibox
正在清理异常退出所占用的PID文件...
清理完成...
启动redis服务...
Starting Redis server...
存在mysql.sock.lock文件
正在清理mysql.sock.lock文件
清理完成...
修改Mysql目录权限....
修改mysql用户信息....
usermod: no changes
启动mysql服务...
 * 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平台....
。。。。。。。。。。。。。。。。。。
           _____ _____  _____ _____     _____ ______ _______      _______ _____ ______    _____ _______       _____ _______ _____ _   _  _____       
     /\   |_   _/ ____|/ ____|  __ \   / ____|  ____|  __ \ \    / /_   _/ ____|  ____|  / ____|__   __|/\   |  __ \__   __|_   _| \ | |/ ____|      
    /  \    | || |    | (___ | |__) | | (___ | |__  | |__) \ \  / /  | || |    | |__    | (___    | |  /  \  | |__) | | |    | | |  \| | |  __       
   / /\ \   | || |     \___ \|  ___/   \___ \|  __| |  _  / \ \/ /   | || |    |  __|    \___ \   | | / /\ \ |  _  /  | |    | | | . ` | | |_ |      
  / ____ \ _| || |____ ____) | |       ____) | |____| | \ \  \  /   _| || |____| |____   ____) |  | |/ ____ \| | \ \  | |   _| |_| |\  | |__| |_ _ _ 
 /_/    \_\_____\_____|_____/|_|      |_____/|______|_|  \_\  \/   |_____\_____|______| |_____/   |_/_/    \_\_|  \_\ |_|  |_____|_| \_|\_____(_|_|_)

第七步:登录平台

登录 http://xx.xx.xx.xx:8091/aicsp

第八步:修改IP

  • 获取本机的IP地址 :ifconfig

  • 登录到平台修改参数:

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

    • big_screen_url_admin #管理员大屏访问地址
    • big_screen_url #大屏访问地址
    • screen_url #大屏缓存数据图片链接
    • url_ip #大喇叭PHP包装接口访问地址
    • srs_ip #SRS推流服务IP
  • 修改大屏IP

    • 系统管理 -》 监控大屏配置 -》 修改为本机IP

    image-20221105185537236

  • 然后退出,刷新缓存,重新登陆

  • 访问大屏测试 测试大屏是否正常

第十步:创建任务

  • 配置视频通道模型

    • 视频能力管理 -> 配置模型列表

    • 新建配置【按需配置】

    image-20221105185011836

    image-20221105190610834

  • 创建任务 视频能力管理 -》 监控任务 -》创建[按需创建] 【注意:识别模式 选择视频分许-不推流

image-20221105185923966

image-20221105190649187

  • 创建完成后 看告警列表是否有告警数据

image-20221105190711987

可以的话 就成功了 不可以的话,咨询海波。。。

文档更新时间: 2023-12-18 03:26   作者:JeffreyCheung