Browse Source

Update infer docker file

Qiuyang 2 years ago
parent
commit
728cee344b
9 changed files with 176 additions and 15 deletions
  1. 11 15
      docker/Dockerfile.infer
  2. 1 0
      tools/VERSION
  3. 8 0
      tools/build.sh
  4. 16 0
      tools/buildDev.sh
  5. 3 0
      tools/cheack_fd.sh
  6. 6 0
      tools/clear.sh
  7. 36 0
      tools/commitDev.sh
  8. 57 0
      tools/release.sh
  9. 38 0
      tools/watchDog.py

+ 11 - 15
docker/Dockerfile.infer

@@ -13,21 +13,17 @@ RUN apt-get update && \
       build-essential \ 
       cmake \ 
       libmysqlclient-dev \
-      libssl-dev 
-
-COPY ./3rdparty/ZLToolKit.tar.gz /root
-# install zltoolkit
-RUN cd /root/ && tar -zxvf ZLToolKit.tar.gz 
-RUN cp -rf /root/ZLToolKit/lib/* /usr/local/lib/
-RUN cp -rf /root/ZLToolKit/include/* /usr/local/include/
-
-#RUN if [ "$with_zltoolkit_code" = "yes" ]; then \
-#    # apt remove ca-certificates && apt install -y --no-install-recommends apt-utils ca-certificates && \
-#    cd /root && git clone https://gitee.com/xia-chu/ZLToolKit.git ZLToolKit && \
-#    cd /root/ZLToolKit && \
-#    sed -i 's/sudo//g' build_for_linux.sh  && ./build_for_linux.sh && \
-#    rm -rf /root/ZLToolKit; \
-#    fi
+      libssl-dev \
+      libgoogle-glog-dev \
+      libgflags-dev
+
+RUN if [ "$with_zltoolkit_code" = "yes" ]; then \
+    # apt remove ca-certificates && apt install -y --no-install-recommends apt-utils ca-certificates && \
+    cd /root && git clone https://gitee.com/xia-chu/ZLToolKit.git ZLToolKit && \
+    cd /root/ZLToolKit && \
+    sed -i 's/sudo//g' build_for_linux.sh  && ./build_for_linux.sh && \
+    rm -rf /root/ZLToolKit; \
+    fi
 
 RUN if [ "$with_opencv_code" = "yes" ]; then \
     cd /root && git clone -b 4.1.1 https://gitee.com/flay/opencv.git  && \

+ 1 - 0
tools/VERSION

@@ -0,0 +1 @@
+1.4.8

+ 8 - 0
tools/build.sh

@@ -0,0 +1,8 @@
+USERNAME=192.168.31.174:8080/miva
+IMAGE=mivainfer
+
+cd ../docker/
+docker build -t $USERNAME/$IMAGE:latest -f ./Dockerfile.infer .
+IMAGE=mivadb
+# docker build -t $USERNAME/$IMAGE:latest -f ./Dockerfile.DbBase .
+docker commit mivadbDev $USERNAME/$IMAGE:latest

+ 16 - 0
tools/buildDev.sh

@@ -0,0 +1,16 @@
+###
+ # @Description: 
+ # @Version: 1.0
+ # @Autor: lishengyin
+ # @Date: 2022-02-22 10:52:11
+ # @LastEditors: lishengyin
+ # @LastEditTime: 2022-02-22 11:03:13
+### 
+#!/bin/bash
+
+# 构建开发环境
+# mivainfer
+docker run -it -d --net=host --runtime nvidia --name=mivaDev -e DISPLAY=$DISPLAY -w /workspace -v /tmp/.X11-unix/:/tmp/.X11-unix -v ~/workspace/:/workspace mivainfer:dev
+
+# mysql
+docker run -it -d --name mivadbDev -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=123456 mivadb:dev

+ 3 - 0
tools/cheack_fd.sh

@@ -0,0 +1,3 @@
+#!/bin/bash
+
+lsof -p $(pidof main) | wc -l > ../data/state/fdState

+ 6 - 0
tools/clear.sh

@@ -0,0 +1,6 @@
+#!/bin/bash
+
+sudo  rm -rf ../data/video/*
+sudo  rm -rf ../source/bin/log/*
+sudo  rm -rf ../build/*
+sudo  rm ../source/bin/core

+ 36 - 0
tools/commitDev.sh

@@ -0,0 +1,36 @@
+###
+ # @Description: 
+ # @Version: 1.0
+ # @Autor: lishengyin
+ # @Date: 2022-02-22 10:55:34
+ # @LastEditors: lishengyin
+ # @LastEditTime: 2022-02-22 14:02:04
+### 
+#!/bin/bash
+
+version=`cat VERSION`
+
+if [ -z "$version" ]; then
+    echo "版本号为空"
+    exit
+fi
+
+docker stop mivaDev mivadbDev
+
+# 提交开发环境
+docker commit mivaDev mivainfer:$version
+docker commit mivadbDev mivadb:$version
+
+# 清除原先的实例
+docker rm mivaDev mivadbDev
+
+docker rmi mivainfer:dev 
+docker rmi mivadb:dev
+
+docker tag mivainfer:$version mivainfer:dev
+docker tag mivadb:$version mivadb:dev
+
+docker rmi mivainfer:$version 
+docker rmi mivadb:$version
+
+./build.sh

+ 57 - 0
tools/release.sh

@@ -0,0 +1,57 @@
+#!/bin/bash
+
+version=`cat VERSION`
+
+echo "version: $version"
+
+cp ../source/bin/main ../../../deploy/MIVA/source/bin/
+cp ../lib/* ../../../deploy/MIVA/lib
+# cp -rf ../source/config/* ../../../deploy/MIVA/source/config/
+echo "version: $version" > ../../../deploy/MIVA/version
+
+./clear.sh
+# run build
+./build.sh
+
+# tag source
+cd ../
+git add -A 
+git commit -m "version $version"
+git tag -a "$version" -m "version $version"
+git push MIVA master
+git push --tags MIVA master
+
+# tag deploy
+cd ../../deploy/MIVA
+git add -A 
+git commit -m "version $version"
+git tag -a "$version" -m "version $version"
+git push origin master
+git push --tags origin master
+
+# SET THE FOLLOWING VARIABLES
+# docker hub username
+USERNAME=192.168.31.174:8080/miva
+IMAGE=mivainfer
+docker tag $USERNAME/$IMAGE:latest $USERNAME/$IMAGE:$version
+IMAGE=mivadb
+docker tag $USERNAME/$IMAGE:latest $USERNAME/$IMAGE:$version
+# push it
+# mivainfer
+IMAGE=mivainfer
+docker push $USERNAME/$IMAGE:latest
+docker push $USERNAME/$IMAGE:$version
+
+# mivadb
+IMAGE=mivadb
+docker push $USERNAME/$IMAGE:latest
+docker push $USERNAME/$IMAGE:$version
+
+# remove
+IMAGE=mivadb
+docker rmi $USERNAME/$IMAGE:latest
+docker rmi $USERNAME/$IMAGE:$version
+
+IMAGE=mivainfer
+docker rmi $USERNAME/$IMAGE:latest
+docker rmi $USERNAME/$IMAGE:$version

+ 38 - 0
tools/watchDog.py

@@ -0,0 +1,38 @@
+'''
+Description: 
+Version: 1.0
+Autor: lishengyin
+Date: 2022-01-14 10:11:13
+LastEditors: lishengyin
+LastEditTime: 2022-01-14 14:49:21
+'''
+# 简易UDP看门狗
+import time
+import socket
+import os
+
+def resetMiva():
+    # 查询PID
+    result = os.popen('pidof main').readlines()
+    if len(result):
+        Ctime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
+        os.popen('echo "' + Ctime + ' MIVA卡死" >> ./watchDog.log')
+        # 判定为卡死
+        os.popen('killall main').readlines()
+        
+if __name__ == '__main__':
+    # 2、创建套接字
+    udp_socket_server = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
+    udp_socket_server.settimeout(30)
+    # 3、绑定服务端的IP和端口
+    udp_socket_server.bind(("",9527))
+    
+    try:
+        udp_socket_server.settimeout(30)
+        # 4、接收客户端的信息
+        recv_data,ip_port = udp_socket_server.recvfrom(1024)
+    except socket.timeout:
+        print("超时没收到")
+        resetMiva()
+    # 7、关闭套接字
+    udp_socket_server.close()