Dockerfile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. FROM ubuntu:20.04
  2. MAINTAINER kindring
  3. VOLUME "/data"
  4. # 安装基础依赖 参考 https://github.com/ZLMediaKit/ZLMediaKit/blob/master/docker/ubuntu18.04/Dockerfile.devel
  5. RUN mkdir /data/zlm && \
  6. apt-get update && \
  7. DEBIAN_FRONTEND="noninteractive" \
  8. apt-get install -y --no-install-recommends \
  9. build-essential \
  10. cmake \
  11. git \
  12. curl \
  13. vim \
  14. ca-certificates \
  15. tzdata \
  16. libssl-dev \
  17. libpng-dev \
  18. libmysqlclient-dev \
  19. libx264-dev \
  20. libfaac-dev \
  21. ffmpeg
  22. RUN apt-get autoremove -y && \
  23. apt-get clean -y && \
  24. rm -rf /var/lib/apt/lists/* \
  25. WORKDIR /data/zlm
  26. # 参考文章 https://blog.csdn.net/haysonzeng/article/details/116754065
  27. COPY ./openssl_1_1_1-stable ./openssl_1_1_1-stable
  28. COPY ./cisco-libsrtp ./cisco-libsrtp
  29. COPY ./ZLMediaKit ./ZLMediaKit
  30. # 编译 openssl
  31. WORKDIR ./openssl_1_1_1-stable
  32. RUN ./config shared threads no-ssl3 --prefix=/var/tmp/dest --openssldir=/var/tmp/dest
  33. RUN make -j4 &&\
  34. make install
  35. # 编译 libsrtp
  36. WORKDIR ../cisco-libsrtp
  37. RUN ./configure --enable-openssl \
  38. && make -j4 \
  39. && make install
  40. # 编译ZLMediakit
  41. WORKDIR ../ZLMediaKit
  42. RUN git submodule update --init
  43. RUN mkdir build
  44. WORKDIR ./build
  45. RUN cmake -DENABLE_WEBRTC=on -DCMAKE_BUILD_TYPE=Release ../ \
  46. && make
  47. ENV PATH /data/zlm/ZLMediakit/release/linux/Release:$PATH
  48. CMD MediaServer