648540858
2022-05-06 5d901b5e3f033e8b04e53420d68626cbd87431c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
FROM ubuntu:20.04 AS build
 
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Shanghai
 
EXPOSE 18080/tcp
 
EXPOSE 5060/tcp
EXPOSE 5060/udp
 
EXPOSE 6379/tcp
 
EXPOSE 18081/tcp
 
EXPOSE 80/tcp
EXPOSE 1935/tcp
EXPOSE 554/tcp
EXPOSE 554/udp
EXPOSE 30000-30500/tcp
EXPOSE 30000-30500/udp
 
ENV LC_ALL zh_CN.UTF-8
 
# 使用了自己的settings.xml作为maven的源,加快打包速度
RUN apt-get update && \
        DEBIAN_FRONTEND="noninteractive" && \
         apt-get install -y --no-install-recommends openjdk-11-jre git maven nodejs npm build-essential tcl language-pack-zh-hans \
         cmake curl  vim ca-certificates  tzdata libmysqlclient-dev  redis-server libssl-dev libx264-dev libfaac-dev ffmpeg
WORKDIR /home
 
RUN      git clone https://gitee.com/pan648540858/maven.git && \
         cp maven/settings.xml /usr/share/maven/conf/ && \
         git clone https://gitee.com/pan648540858/wvp-GB28181.git && \
         git clone https://gitee.com/pan648540858/wvp-pro-assist.git
         # 编译前端界面
WORKDIR /home/wvp-GB28181/web_src
 
RUN      npm install && \
         npm run build && \
         mkdir -p /opt/wvp/config && \
         mkdir -p /opt/assist/config && \
         cp /home/wvp-GB28181/src/main/resources/application-dev.yml /opt/wvp/config/application.yml && \
         cp /home/wvp-pro-assist/src/main/resources/application-dev.yml /opt/assist/config/application.yml
 
         # wvp打包
WORKDIR /home/wvp-GB28181
RUN      mvn compile && \
         mvn package && \
         cp /home/wvp-GB28181/target/wvp*.jar /opt/wvp/
 
         # wvp 录像管理打包
WORKDIR /home/wvp-pro-assist
RUN      mvn compile && \
         mvn package && \
         cp /home/wvp-pro-assist/target/*.jar /opt/assist/
 
         # zlm打包
WORKDIR /home
RUN     mkdir -p /opt/media && \
        git clone --depth=1 https://gitee.com/xia-chu/ZLMediaKit && \
        cd ZLMediaKit && git submodule update --init --recursive && \
        mkdir -p build release/linux/Release/ &&\
        cd build && \
        cmake -DCMAKE_BUILD_TYPE=Release .. && \
        make -j4 && \
        rm -rf ../release/linux/Release/config.ini && \
        cp -r ../release/linux/Release/* /opt/media && \
        mkdir -p /opt/media/www/record
 
 
         # 清理
 RUN     rm -rf /home/wiki && \
         rm -rf /home/wvp-GB28181 && \
         apt-get autoremove -y git maven nodejs npm && \
         apt-get clean -y && \
         rm -rf /var/lib/apt/lists/*dic
 
WORKDIR /opt/wvp
RUN     echo '#!/bin/bash' > run.sh && \
        echo 'echo ${WVP_IP}' >> run.sh && \
        echo 'echo ${WVP_CONFIG}' >> run.sh && \
        echo 'redis-server --daemonize yes --bind 0.0.0.0' >> run.sh && \
        echo 'cd /opt/assist' >> run.sh && \
        echo 'nohup java -jar *.jar --userSettings.record=/opt/media/www/record/ &' >> run.sh && \
        echo 'nohup /opt/media/MediaServer -d -m 3 &' >> run.sh && \
        echo 'cd /opt/wvp' >> run.sh && \
        echo 'if [-n "${WVP_CONFIG}"]; then' >> run.sh && \
        echo '        java -jar *.jar --spring.config.location=/opt/wvp/config/application.yml --media.record-assist-port=18081 ${WVP_CONFIG}' >> run.sh && \
        echo 'else' >> run.sh && \
        echo '        java -jar *.jar --spring.config.location=/opt/wvp/config/application.yml --media.record-assist-port=18081 --media.ip=127.0.0.1 --media.sdp-ip=${WVP_IP} --sip.ip=${WVP_IP} --media.stream-ip=${WVP_IP}' >> run.sh  && \
        echo 'fi' >> run.sh
RUN chmod +x run.sh
 
FROM ubuntu:20.04
 
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Shanghai
 
EXPOSE 18080/tcp
 
EXPOSE 5060/tcp
EXPOSE 5060/udp
 
EXPOSE 6379/tcp
 
EXPOSE 18081/tcp
 
EXPOSE 80/tcp
EXPOSE 1935/tcp
EXPOSE 554/tcp
EXPOSE 554/udp
EXPOSE 30000-30500/tcp
EXPOSE 30000-30500/udp
 
ENV LC_ALL zh_CN.UTF-8
 
RUN apt-get update && \
        DEBIAN_FRONTEND="noninteractive" && \
        apt-get install -y --no-install-recommends openjdk-11-jre tcl language-pack-zh-hans \
        ca-certificates  tzdata libmysqlclient21  redis-server libssl1.1 libx264-155 libfaac0 ffmpeg && \
        apt-get autoremove -y && \
        apt-get clean -y && \
        rm -rf /var/lib/apt/lists/*dic
 
WORKDIR /opt/wvp
COPY --from=build /opt /opt
CMD ["sh", "run.sh"]