Dockerfile 926 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # 多平台支持的单阶段构建Dockerfile
  2. # 使用ARG支持多架构构建
  3. ARG BUILDPLATFORM
  4. ARG TARGETPLATFORM
  5. ARG TARGETARCH
  6. # 默认为linux/amd64以保持兼容性
  7. FROM --platform=${TARGETPLATFORM:-linux/amd64} k8s.device.wenhq.top:8583/docker_r/ubuntu:22.04
  8. # 设置环境变量
  9. ENV DEBIAN_FRONTEND=noninteractive
  10. ENV TZ=Asia/Shanghai
  11. # 创建工作目录
  12. WORKDIR /app
  13. # 复制项目文件
  14. COPY CMakeLists.txt ./
  15. COPY include/ ./include/
  16. COPY src/ ./src/
  17. COPY main.cpp ./
  18. COPY http_server_main.cpp ./
  19. COPY config.json ./
  20. COPY video_manager.html ./
  21. COPY rtsp-debug.sh ./
  22. # 设置脚本权限
  23. RUN chmod +x ./rtsp-debug.sh
  24. # 创建构建目录并编译
  25. RUN mkdir -p build && \
  26. cd build && \
  27. cmake .. && \
  28. make -j$(nproc)
  29. # 创建输出目录
  30. RUN mkdir -p /app/output
  31. # 暴露HTTP服务端口
  32. EXPOSE 8080
  33. # 设置启动命令(使用绝对路径)
  34. CMD ["/app/build/jtjai_media", "/app/config.json"]