diff --git a/docker/build_docker_images.sh b/docker/build_docker_images.sh index 65deff30..4a2645fc 100644 --- a/docker/build_docker_images.sh +++ b/docker/build_docker_images.sh @@ -4,4 +4,6 @@ docker build -t gemfield/zlmediakit:20.04-runtime-ubuntu18.04 -f ubuntu18.04/Doc docker build -t gemfield/zlmediakit:20.04-devel-ubuntu18.04 -f ubuntu18.04/Dockerfile.devel . docker build -t gemfield/zlmediakit:20.04-runtime-ubuntu16.04 -f ubuntu16.04/Dockerfile.runtime . docker build -t gemfield/zlmediakit:20.04-devel-ubuntu16.04 -f ubuntu16.04/Dockerfile.devel . +docker build -t gemfield/zlmediakit:22.04-runtime-ubuntu22.04 -f ubuntu22.04/Dockerfile.runtime . +docker build -t gemfield/zlmediakit:22.04-devel-ubuntu22.04 -f ubuntu22.04/Dockerfile.devel . docker build -t gemfield/zlmediakit:centos7-runtime -f centos7/Dockerfile.runtime . diff --git a/docker/ubuntu22.04/Dockerfile.devel b/docker/ubuntu22.04/Dockerfile.devel new file mode 100644 index 00000000..8b344be6 --- /dev/null +++ b/docker/ubuntu22.04/Dockerfile.devel @@ -0,0 +1,49 @@ +FROM ubuntu:22.04 AS build +#shell,rtmp,rtsp,rtsps,http,https,rtp,webrtc +EXPOSE 9000/tcp +EXPOSE 1935/tcp +EXPOSE 554/tcp +EXPOSE 322/tcp +EXPOSE 80/tcp +EXPOSE 443/tcp +EXPOSE 10000/udp +EXPOSE 10000/tcp +EXPOSE 8000/udp +EXPOSE 8000/tcp + +RUN apt update -y && \ + apt upgrade -y && \ + apt install -y \ + cmake \ + pkg-config \ + git \ + gcc \ + g++ \ + curl \ + vim \ + ca-certificates \ + libssl-dev \ + libsrtp2-dev \ + libusrsctp-dev \ + libavcodec-dev \ + libavutil-dev \ + ffmpeg \ + libx264-dev \ + libfaac-dev + apt-get autoremove -y && \ + apt-get clean -y && \ + rm -rf /var/lib/apt/lists/* + +RUN mkdir -p /opt/media + +WORKDIR /opt/media +RUN git clone --depth=1 https://github.com/ZLMediaKit/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 + +ENV PATH /opt/media/ZLMediaKit/release/linux/Release:$PATH +CMD ["MediaServer"] diff --git a/docker/ubuntu22.04/Dockerfile.runtime b/docker/ubuntu22.04/Dockerfile.runtime new file mode 100644 index 00000000..899f877c --- /dev/null +++ b/docker/ubuntu22.04/Dockerfile.runtime @@ -0,0 +1,75 @@ +FROM ubuntu:22.04 AS build +#shell,rtmp,rtsp,rtsps,http,https,rtp,webrtc +EXPOSE 9000/tcp +EXPOSE 1935/tcp +EXPOSE 554/tcp +EXPOSE 322/tcp +EXPOSE 80/tcp +EXPOSE 443/tcp +EXPOSE 10000/udp +EXPOSE 10000/tcp +EXPOSE 8000/udp +EXPOSE 8000/tcp +EXPOSE 30000-30500 + +RUN apt update -y && \ + apt upgrade -y && \ + apt install -y \ + cmake \ + pkg-config \ + git \ + gcc \ + g++ \ + curl \ + vim \ + ca-certificates \ + libssl-dev \ + libsrtp2-dev \ + libusrsctp-dev \ + libavcodec-dev \ + libavutil-dev \ + ffmpeg \ + libx264-dev \ + libfaac-dev && \ + apt-get autoremove -y && \ + apt-get clean -y && \ + rm -rf /var/lib/apt/lists/* + +RUN mkdir -p /opt/media + +WORKDIR /opt/media +RUN git clone --depth=1 https://github.com/ZLMediaKit/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 + +FROM ubuntu:22.04 + + RUN apt update -y && \ + apt upgrade -y && \ + apt install -y \ + pkg-config \ + vim \ + ca-certificates \ + libssl-dev \ + libsrtp2-dev \ + libusrsctp-dev \ + libavcodec-dev \ + libavutil-dev \ + ffmpeg \ + libx264-dev \ + libfaac-dev && \ + apt-get autoremove -y && \ + apt-get 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/ +COPY --from=build /opt/media/ZLMediaKit/release/linux/Release/www /opt/mediaserver/bin/www +COPY --from=build /opt/media/ZLMediaKit/release/linux/Release/config.ini /opt/mediaserver/bin/ +COPY --from=build /opt/media/ZLMediaKit/release/linux/Release/default.pem /opt/mediaserver/bin/ +ENV PATH /opt/media/bin:$PATH +CMD ["MediaServer"]