| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 | 
							- # 多阶段构建Dockerfile for AMD64平台
 
- # RTSP视频流并发拉取系统
 
- # 构建参数定义平台架构,默认为linux/amd64
 
- ARG BUILDPLATFORM=linux/amd64
 
- ARG TARGETPLATFORM=linux/amd64
 
- # ============================================
 
- # 阶段1: 构建环境 - 使用国内镜像加速
 
- # ============================================
 
- FROM --platform=$BUILDPLATFORM k8s.device.wenhq.top:8583/docker_r/ubuntu:22.04 AS builder
 
- # 设置环境变量避免交互式提示
 
- ENV DEBIAN_FRONTEND=noninteractive
 
- ENV TZ=Asia/Shanghai
 
- # 更换为清华大学镜像源
 
- RUN sed -i 's@//.*archive.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list && \
 
-     sed -i 's@//.*security.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list && apt-get update
 
- # 安装构建依赖
 
- RUN apt-get update && apt-get install -y \
 
-     build-essential \
 
-     cmake \
 
-     git \
 
-     wget \
 
-     pkg-config \
 
-     libavcodec-dev \
 
-     libavformat-dev \
 
-     libavutil-dev \
 
-     libswscale-dev \
 
-     libfmt-dev \
 
-     libboost-all-dev \
 
-     && apt-get clean \
 
-     && rm -rf /var/lib/apt/lists/*
 
- # 使用SourceForge镜像下载Boost 1.82(更稳定的下载源)
 
- RUN cd /tmp && \
 
-     wget -q --show-progress http://thfile.xt.wenhq.top:8083/boost_1_82_0.tar.bz2 -O boost_1_82_0.tar.bz2 && \
 
-     file boost_1_82_0.tar.bz2 && \
 
-     tar -xjf boost_1_82_0.tar.bz2 && \
 
-     cd boost_1_82_0 && \
 
-     ./bootstrap.sh --with-libraries=system,json && \
 
-     ./b2 -j$(nproc) variant=release link=shared threading=multi install && \
 
-     ldconfig && \
 
-     cd / && \
 
-     rm -rf /tmp/boost_1_82_0*
 
- # 创建工作目录
 
- WORKDIR /app
 
- # 复制项目文件
 
- COPY CMakeLists.txt ./
 
- COPY include/ ./include/
 
- COPY src/ ./src/
 
- COPY main.cpp ./
 
- COPY http_server_main.cpp ./
 
- COPY config.json ./
 
- COPY video_manager.html ./
 
- # 创建构建目录并编译
 
- RUN mkdir -p build && \
 
-     cd build && \
 
-     cmake .. && \
 
-     make -j$(nproc)
 
- # ============================================
 
- # 阶段2: 运行环境 - 使用国内镜像加速
 
- # ============================================
 
- FROM ubuntu:22.04
 
- # 设置环境变量
 
- ENV DEBIAN_FRONTEND=noninteractive
 
- ENV TZ=Asia/Shanghai
 
- # 更换为清华大学镜像源
 
- RUN sed -i 's@//.*archive.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list && \
 
-     sed -i 's@//.*security.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list
 
- # 安装运行时依赖
 
- RUN apt-get update && apt-get install -y \
 
-     libavcodec-dev \
 
-     libavformat-dev \
 
-     libavutil-dev \
 
-     libswscale-dev \
 
-     libfmt-dev \
 
-     libboost-system-dev \
 
-     curl \
 
-     && apt-get clean \
 
-     && rm -rf /var/lib/apt/lists/*
 
- # 从构建阶段复制Boost库
 
- COPY --from=builder /usr/local/lib/libboost* /usr/local/lib/
 
- COPY --from=builder /usr/local/include/boost /usr/local/include/boost
 
- # 更新库链接缓存
 
- RUN ldconfig
 
- # 创建应用目录
 
- WORKDIR /app
 
- # 从构建阶段复制编译好的可执行文件
 
- COPY --from=builder /app/build/jtjai_media /app/jtjai_media
 
- COPY --from=builder /app/build/jtjai_http_server /app/jtjai_http_server
 
- # 复制配置文件和Web资源
 
- COPY --from=builder /app/config.json /app/config.json
 
- COPY --from=builder /app/video_manager.html /app/video_manager.html
 
- # 复制RTSP调试脚本
 
- COPY rtsp-debug.sh /app/rtsp-debug.sh
 
- RUN chmod +x /app/rtsp-debug.sh
 
- # 创建输出目录
 
- RUN mkdir -p /app/output
 
- # 暴露HTTP服务端口
 
- EXPOSE 8080
 
- # 设置健康检查
 
- HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
 
-   CMD curl -f http://localhost:8080/api || exit 1
 
- # 设置启动命令(使用绝对路径)
 
- CMD ["/app/jtjai_media", "/app/config.json"]
 
 
  |