Dockerfile 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. FROM ubuntu:20.04 as build
  2. ARG gitUrl="https://gitee.com/pan648540858"
  3. ARG zlmGitUrl="https://gitee.com/xia-chu/ZLMediaKit"
  4. RUN export DEBIAN_FRONTEND=noninteractive &&\
  5. apt-get update && \
  6. apt-get install -y --no-install-recommends openjdk-11-jre git maven nodejs npm build-essential \
  7. cmake ca-certificates openssl ffmpeg &&\
  8. mkdir -p /opt/wvp/config /opt/wvp/heapdump /opt/wvp/config /opt/assist/config /opt/assist/heapdump /opt/media/www/record
  9. RUN cd /home && \
  10. git clone "${gitUrl}/maven.git" && \
  11. cp maven/settings.xml /usr/share/maven/conf/
  12. RUN cd /home && \
  13. git clone "${gitUrl}/wvp-GB28181-pro.git"
  14. RUN cd /home/wvp-GB28181-pro/web_src && \
  15. npm install && \
  16. npm run build
  17. RUN cd /home/wvp-GB28181-pro && \
  18. mvn clean package -Dmaven.test.skip=true && \
  19. cp /home/wvp-GB28181-pro/target/*.jar /opt/wvp/ && \
  20. cp /home/wvp-GB28181-pro/src/main/resources/application-docker.yml /opt/wvp/config/application.yml
  21. RUN cd /home && \
  22. git clone "${gitUrl}/wvp-pro-assist.git"
  23. RUN cd /home/wvp-pro-assist && \
  24. git reset --hard 58f1a79136a55a7cd1593c95b56ddadcc2225b61 && \
  25. mvn clean package -Dmaven.test.skip=true && \
  26. cp /home/wvp-pro-assist/target/*.jar /opt/assist/ && \
  27. cp /home/wvp-pro-assist/src/main/resources/application-dev.yml /opt/assist/config/application.yml
  28. RUN cd /home && \
  29. git clone --depth=1 "${zlmGitUrl}"
  30. RUN cd /home/ZLMediaKit && \
  31. git submodule update --init --recursive && \
  32. mkdir -p build release/linux/Release/ &&\
  33. cd build && \
  34. cmake -DCMAKE_BUILD_TYPE=Release .. && \
  35. make -j4 && \
  36. rm -rf ../release/linux/Release/config.ini && \
  37. cp -r ../release/linux/Release/* /opt/media
  38. RUN cd /opt/wvp && \
  39. echo '#!/bin/bash' > run.sh && \
  40. echo 'echo ${WVP_IP}' >> run.sh && \
  41. echo 'echo ${WVP_CONFIG}' >> run.sh && \
  42. echo 'cd /opt/assist' >> run.sh && \
  43. echo 'nohup java ${ASSIST_JVM_CONFIG} -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/assist/heapdump/ -jar *.jar --spring.config.location=/opt/assist/config/application.yml --userSettings.record=/opt/media/www/record/ --media.record-assist-port=18081 ${ASSIST_CONFIG} &' >> run.sh && \
  44. echo 'nohup /opt/media/MediaServer -d -m 3 &' >> run.sh && \
  45. echo 'cd /opt/wvp' >> run.sh && \
  46. echo 'java ${WVP_JVM_CONFIG} -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/wvp/heapdump/ -jar *.jar --spring.config.location=/opt/wvp/config/application.yml --media.record-assist-port=18081 ${WVP_CONFIG}' >> run.sh && \
  47. chmod +x run.sh
  48. FROM ubuntu:20.04
  49. EXPOSE 18080/tcp
  50. EXPOSE 5060/tcp
  51. EXPOSE 5060/udp
  52. EXPOSE 6379/tcp
  53. EXPOSE 18081/tcp
  54. EXPOSE 80/tcp
  55. EXPOSE 1935/tcp
  56. EXPOSE 554/tcp
  57. EXPOSE 554/udp
  58. EXPOSE 30000-30500/tcp
  59. EXPOSE 30000-30500/udp
  60. ENV LC_ALL zh_CN.UTF-8
  61. RUN export DEBIAN_FRONTEND=noninteractive &&\
  62. apt-get update && \
  63. apt-get install -y --no-install-recommends openjdk-11-jre ca-certificates ffmpeg language-pack-zh-hans && \
  64. apt-get autoremove -y && \
  65. apt-get clean -y && \
  66. rm -rf /var/lib/apt/lists/*dic
  67. COPY --from=build /opt /opt
  68. WORKDIR /opt/wvp
  69. CMD ["sh", "run.sh"]