81 lines
2.2 KiB
Docker
81 lines
2.2 KiB
Docker
|
|
#################################################################
|
||
|
|
# 在项目根目录执行 docker build -t cl-zlmedia -f ./docker/Dockerfile .
|
||
|
|
#################################################################
|
||
|
|
|
||
|
|
#基础
|
||
|
|
FROM ajiva/ubuntu-ffmpeg4 AS base
|
||
|
|
WORKDIR /tmp/workdir
|
||
|
|
RUN sed -i s@/archive.ubuntu.com/@/mirrors.163.com/@g /etc/apt/sources.list
|
||
|
|
RUN apt-get update && \
|
||
|
|
apt-get -qqy install --no-install-recommends \
|
||
|
|
g++ \
|
||
|
|
make \
|
||
|
|
cmake \
|
||
|
|
git \
|
||
|
|
libmysqlclient-dev \
|
||
|
|
libssl-dev \
|
||
|
|
libx264-dev \
|
||
|
|
libfaac-dev \
|
||
|
|
libmp4v2-dev \
|
||
|
|
wget \
|
||
|
|
curl \
|
||
|
|
sqlite3 \
|
||
|
|
libsqlite3-dev \
|
||
|
|
nginx \
|
||
|
|
yasm && \
|
||
|
|
apt-get -qqy clean && \
|
||
|
|
rm -rf /var/lib/apt/lists/*
|
||
|
|
|
||
|
|
RUN rm -f /etc/nginx/sites-enabled/default
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
#后端
|
||
|
|
FROM base as build_b
|
||
|
|
WORKDIR /usr/src/ZLMediaKit
|
||
|
|
ADD 3rdpart ./3rdpart
|
||
|
|
ADD Android ./Android
|
||
|
|
ADD cmake ./cmake
|
||
|
|
ADD node_modules ./node_modules
|
||
|
|
ADD server ./server
|
||
|
|
ADD src ./src
|
||
|
|
ADD tests ./tests
|
||
|
|
ADD .travis.yml _config.yml CMakeLists.txt docker/build_for_docker_linux.sh ./
|
||
|
|
RUN chmod +x build_for_docker_linux.sh
|
||
|
|
RUN mkdir -p build/bin/dbdata && \
|
||
|
|
mkdir -p build/bin/log
|
||
|
|
RUN ["/bin/bash", "./build_for_docker_linux.sh"]
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
#前端
|
||
|
|
FROM base as build_f
|
||
|
|
ENV ZLMEDIAKIT_NVR_UI_VERSION=1.0.2
|
||
|
|
WORKDIR /usr/src/ZLMediaKitUI
|
||
|
|
RUN mkdir ui && \
|
||
|
|
curl -sLO https://github.com/chenxiaolei/ZLMediaKit_NVR_UI/releases/download/1.0.2/zlmediakit_nvr_ui.1.0.2.tar.gz &&\
|
||
|
|
tar -xvf zlmediakit_nvr_ui.1.0.2.tar.gz -C ui
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
#最终发布
|
||
|
|
FROM base AS release
|
||
|
|
MAINTAINER chenxiaolei <4854336@qq.com>
|
||
|
|
COPY --from=build_b /usr/src/ZLMediaKit/build /usr/src/ZLMediaKit/build
|
||
|
|
COPY --from=build_f /usr/src/ZLMediaKitUI /usr/src/ZLMediaKitUI
|
||
|
|
|
||
|
|
WORKDIR /usr/src/ZLMediaKit
|
||
|
|
COPY docker/nginx_zlmedia.conf /etc/nginx/conf.d/zlmedia.conf
|
||
|
|
COPY docker/docker-entrypoint.sh docker/zlmedia-ui-env.sh /usr/local/bin/
|
||
|
|
COPY docker/config_docker.ini /usr/src/ZLMediaKit/build/bin/config.ini
|
||
|
|
RUN chmod +x /usr/local/bin/docker-entrypoint.sh /usr/local/bin/zlmedia-ui-env.sh && \
|
||
|
|
ln -s /usr/src/ZLMediaKit/build/bin zldata
|
||
|
|
|
||
|
|
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
|
||
|
|
|
||
|
|
EXPOSE 1935 10800 554 80
|
||
|
|
|