mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-22 19:00:01 +08:00
Split Dockerfile to runtime and devel version, and also reduce the image size for runtime version
This commit is contained in:
parent
a573d7302b
commit
5ee913a3bf
3
build_docker_images.sh
Normal file
3
build_docker_images.sh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
docker build -t gemfield/zlmediakit:20.01-runtime-ubuntu18.04 -f docker/ubuntu18.04/Dockerfile.runtime .
|
||||||
|
#docker build -t gemfield/zlmediakit:20.01-devel-ubuntu18.04 -f docker/ubuntu18.04/Dockerfile.devel .
|
@ -9,7 +9,9 @@ EXPOSE 443/tcp
|
|||||||
EXPOSE 10000/udp
|
EXPOSE 10000/udp
|
||||||
EXPOSE 10000/tcp
|
EXPOSE 10000/tcp
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && \
|
||||||
|
DEBIAN_FRONTEND="noninteractive" \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
build-essential \
|
build-essential \
|
||||||
cmake \
|
cmake \
|
||||||
git \
|
git \
|
||||||
@ -22,6 +24,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
libx264-dev \
|
libx264-dev \
|
||||||
libfaac-dev \
|
libfaac-dev \
|
||||||
libmp4v2-dev && \
|
libmp4v2-dev && \
|
||||||
|
apt autoremove -y && \
|
||||||
|
apt clean -y && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN mkdir -p /opt/media
|
RUN mkdir -p /opt/media
|
||||||
@ -36,5 +40,4 @@ RUN cmake -DCMAKE_BUILD_TYPE=Release .. && \
|
|||||||
make -j4
|
make -j4
|
||||||
|
|
||||||
ENV PATH /opt/media/ZLMediaKit/release/linux/Release/:$PATH
|
ENV PATH /opt/media/ZLMediaKit/release/linux/Release/:$PATH
|
||||||
|
|
||||||
CMD MediaServer
|
CMD MediaServer
|
62
docker/ubuntu16.04/Dockerfile.runtime
Normal file
62
docker/ubuntu16.04/Dockerfile.runtime
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
FROM ubuntu:16.04 AS build
|
||||||
|
#shell,rtmp,rtsp,rtsps,http,https,rtp
|
||||||
|
EXPOSE 9000/tcp
|
||||||
|
EXPOSE 1935/tcp
|
||||||
|
EXPOSE 554/tcp
|
||||||
|
EXPOSE 322/tcp
|
||||||
|
EXPOSE 80/tcp
|
||||||
|
EXPOSE 443/tcp
|
||||||
|
EXPOSE 10000/udp
|
||||||
|
EXPOSE 10000/tcp
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
DEBIAN_FRONTEND="noninteractive" \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
build-essential \
|
||||||
|
cmake \
|
||||||
|
git \
|
||||||
|
curl \
|
||||||
|
vim \
|
||||||
|
ca-certificates \
|
||||||
|
tzdata \
|
||||||
|
libssl-dev \
|
||||||
|
libmysqlclient-dev \
|
||||||
|
libx264-dev \
|
||||||
|
libfaac-dev \
|
||||||
|
libmp4v2-dev && \
|
||||||
|
apt autoremove -y && \
|
||||||
|
apt clean -y && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN mkdir -p /opt/media
|
||||||
|
|
||||||
|
WORKDIR /opt/media
|
||||||
|
RUN git clone --depth=1 https://github.com/xiongziliang/ZLMediaKit && \
|
||||||
|
cd ZLMediaKit && git submodule update --init --recursive && \
|
||||||
|
mkdir -p build release/linux/Release/
|
||||||
|
|
||||||
|
WORKDIR /opt/media/ZLMediaKit/build
|
||||||
|
RUN cmake -DCMAKE_BUILD_TYPE=Release .. && \
|
||||||
|
make -j4
|
||||||
|
|
||||||
|
FROM ubuntu:16.04
|
||||||
|
LABEL maintainer "Gemfield <gemfield@civilnet.cn>"
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
DEBIAN_FRONTEND="noninteractive" \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
vim \
|
||||||
|
ca-certificates \
|
||||||
|
tzdata \
|
||||||
|
libssl-dev \
|
||||||
|
libx264-dev \
|
||||||
|
libfaac-dev \
|
||||||
|
libmp4v2-dev && \
|
||||||
|
apt autoremove -y && \
|
||||||
|
apt clean -y && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /opt/media/bin/
|
||||||
|
COPY --from=build /opt/media/ZLMediaKit/release/linux/Release/MediaServer /opt/media/bin/MediaServer
|
||||||
|
ENV PATH /opt/media/bin:$PATH
|
||||||
|
CMD MediaServer
|
44
docker/ubuntu18.04/Dockerfile.devel
Normal file
44
docker/ubuntu18.04/Dockerfile.devel
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
FROM ubuntu:18.04
|
||||||
|
LABEL maintainer "Gemfield <gemfield@civilnet.cn>"
|
||||||
|
#shell,rtmp,rtsp,rtsps,http,https,rtp
|
||||||
|
EXPOSE 9000/tcp
|
||||||
|
EXPOSE 1935/tcp
|
||||||
|
EXPOSE 554/tcp
|
||||||
|
EXPOSE 322/tcp
|
||||||
|
EXPOSE 80/tcp
|
||||||
|
EXPOSE 443/tcp
|
||||||
|
EXPOSE 10000/udp
|
||||||
|
EXPOSE 10000/tcp
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
DEBIAN_FRONTEND="noninteractive" \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
build-essential \
|
||||||
|
cmake \
|
||||||
|
git \
|
||||||
|
curl \
|
||||||
|
vim \
|
||||||
|
ca-certificates \
|
||||||
|
tzdata \
|
||||||
|
libssl-dev \
|
||||||
|
libmysqlclient-dev \
|
||||||
|
libx264-dev \
|
||||||
|
libfaac-dev \
|
||||||
|
libmp4v2-dev && \
|
||||||
|
apt autoremove -y && \
|
||||||
|
apt clean -y && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN mkdir -p /opt/media
|
||||||
|
|
||||||
|
WORKDIR /opt/media
|
||||||
|
RUN git clone --depth=1 https://github.com/xiongziliang/ZLMediaKit && \
|
||||||
|
cd ZLMediaKit && git submodule update --init --recursive && \
|
||||||
|
mkdir -p build release/linux/Release/
|
||||||
|
|
||||||
|
WORKDIR /opt/media/ZLMediaKit/build
|
||||||
|
RUN cmake -DCMAKE_BUILD_TYPE=Release .. && \
|
||||||
|
make -j4
|
||||||
|
|
||||||
|
ENV PATH /opt/media/ZLMediaKit/release/linux/Release:$PATH
|
||||||
|
CMD MediaServer
|
62
docker/ubuntu18.04/Dockerfile.runtime
Normal file
62
docker/ubuntu18.04/Dockerfile.runtime
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
FROM ubuntu:18.04 AS build
|
||||||
|
#shell,rtmp,rtsp,rtsps,http,https,rtp
|
||||||
|
EXPOSE 9000/tcp
|
||||||
|
EXPOSE 1935/tcp
|
||||||
|
EXPOSE 554/tcp
|
||||||
|
EXPOSE 322/tcp
|
||||||
|
EXPOSE 80/tcp
|
||||||
|
EXPOSE 443/tcp
|
||||||
|
EXPOSE 10000/udp
|
||||||
|
EXPOSE 10000/tcp
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
DEBIAN_FRONTEND="noninteractive" \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
build-essential \
|
||||||
|
cmake \
|
||||||
|
git \
|
||||||
|
curl \
|
||||||
|
vim \
|
||||||
|
ca-certificates \
|
||||||
|
tzdata \
|
||||||
|
libssl-dev \
|
||||||
|
libmysqlclient-dev \
|
||||||
|
libx264-dev \
|
||||||
|
libfaac-dev \
|
||||||
|
libmp4v2-dev && \
|
||||||
|
apt autoremove -y && \
|
||||||
|
apt clean -y && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN mkdir -p /opt/media
|
||||||
|
|
||||||
|
WORKDIR /opt/media
|
||||||
|
RUN git clone --depth=1 https://github.com/xiongziliang/ZLMediaKit && \
|
||||||
|
cd ZLMediaKit && git submodule update --init --recursive && \
|
||||||
|
mkdir -p build release/linux/Release/
|
||||||
|
|
||||||
|
WORKDIR /opt/media/ZLMediaKit/build
|
||||||
|
RUN cmake -DCMAKE_BUILD_TYPE=Release .. && \
|
||||||
|
make -j4
|
||||||
|
|
||||||
|
FROM ubuntu:18.04
|
||||||
|
LABEL maintainer "Gemfield <gemfield@civilnet.cn>"
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
DEBIAN_FRONTEND="noninteractive" \
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
vim \
|
||||||
|
ca-certificates \
|
||||||
|
tzdata \
|
||||||
|
libssl-dev \
|
||||||
|
libx264-dev \
|
||||||
|
libfaac-dev \
|
||||||
|
libmp4v2-dev && \
|
||||||
|
apt autoremove -y && \
|
||||||
|
apt clean -y && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /opt/media/bin/
|
||||||
|
COPY --from=build /opt/media/ZLMediaKit/release/linux/Release/MediaServer /opt/media/bin/MediaServer
|
||||||
|
ENV PATH /opt/media/bin:$PATH
|
||||||
|
CMD MediaServer
|
Loading…
Reference in New Issue
Block a user