找回密码
 立即注册
搜索
热搜: 流水 密码
查看: 8|回复: 0

wvp-pro Docker多容器部署与常见问题解决方案

[复制链接]

395

主题

120

回帖

2271

积分

管理员

积分
2271
发表于 2025-12-24 09:11:22 | 显示全部楼层 |阅读模式
https://comate.baidu.com/zh/page/mj77bw3hr9v




[size=1.875]wvp-pro Docker多容器部署与常见问题解决方案
[color=rgb(84 84 84/var(--tw-text-opacity))][size=0.75]2025-11-10 15:13:43
[backcolor=rgb(243 243 243/var(--tw-bg-opacity))][color=rgb(84 84 84/var(--tw-text-opacity))][size=0.75]参考资料[backcolor=rgb(255 255 255/var(--tw-bg-opacity))]
[backcolor=rgb(255 255 255/var(--tw-bg-opacity))]
[backcolor=rgb(255 255 255/var(--tw-bg-opacity))]


[backcolor=rgb(243 243 243/var(--tw-bg-opacity))]























引言
本文围绕wvp-pro视频平台的Docker容器化部署展开,重点解决部署过程中遇到的组件协同、配置错误、网络适配等核心问题。通过Docker Compose实现WVP、ZLMediaKit、Redis、MySQL、Nginx五大组件的自动化编排,提供从环境准备到运维监控的全流程解决方案
[color=rgb(92 92 92/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.75]1


[color=rgb(92 92 92/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.75]2


[color=rgb(92 92 92/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.75]3



部署架构与组件说明核心组件
组件名称
功能描述
基础镜像
资源需求

WVP
国标信令处理、设备管理
自定义JDK11镜像
2核4G

ZLMediaKit
媒体流转发、协议转换
zlmediakit/zlmediakit
4核8G

Redis
会话管理、流状态缓存
redis:latest
1核2G

MySQL
存储设备信息、用户数据
mysql:8
2核4G,50GB存储

Nginx
前端静态资源、API反向代理
自定义Nginx镜像
1核1G
部署方式对比
方案类型
实现方式
复杂度
适用场景

Docker Compose
多容器编排
生产环境推荐方案
[color=rgb(92 92 92/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.75]1



单容器部署
自定义Dockerfile整合所有服务
测试环境临时使用
[color=rgb(92 92 92/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.75]3


部署步骤(Docker Compose版)环境准备[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]bash
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



# 硬件要求CPU: 4核8线程内存: 8GB RAM存储: 200GB SSD# 软件要求Docker Engine 20.10.0+Docker Compose 2.0.0+Git 2.30.0+Ubuntu 20.04/22.04 LTS

核心配置文件docker-compose.yml关键配置[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]yaml
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



version: '3'services:  polaris-redis:    image: redis:latest    volumes:      - ./redis/conf/redis.conf:/opt/polaris/redis/redis.conf      - ./volumes/redis/data/:/data  polaris-mysql:    image: mysql:8    environment:      MYSQL_DATABASE: wvp      MYSQL_ROOT_PASSWORD: root  # 生产环境需修改  polaris-media:    image: zlmediakit/zlmediakit:master    ports:      - "10935:10935"  # RTMP      - "5540:5540"    # RTSP  polaris-wvp:    build:      context: ..      dockerfile: ./docker/wvp/Dockerfile    environment:      SIP_HOST: 192.168.1.100  # 替换为服务器实际IP    depends_on:      - polaris-redis      - polaris-mysql

媒体服务配置(media/config.ini)[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]ini
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



[general]mediaServerId=KQPEO9CXNvIFzbLF  # 需与WVP配置一致secret=AG688hI5pcmSnReCG0jRVtNyOnhJpOfz[rtp_proxy]port_range=30000-40000  # 扩大端口范围

构建与启动[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]bash
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



# 克隆项目git clone https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro.gitcd wvp-GB28181-pro/docker# 构建镜像docker-compose build# 启动服务docker-compose up -d# 验证服务docker-compose pscurl http://localhost:18978/api/version

常见问题解决方案设备注册成功但无法播放视频
原因分析:
  • SIP服务器IP配置错误
  • secret密钥不一致
  • 防火墙拦截媒体流端口
解决方案:
  • 检查设备配置的SIP服务器IP是否为容器实际IP(如172.18.0.2)
  • 验证WVP和ZLMediaKit的secret是否完全一致
  • 开放防火墙端口:
[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]bash
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



sudo ufw allow 10935/tcp  # RTMPsudo ufw allow 5540/tcp   # RTSP

录像文件无法生成
排查步骤:
  • 检查录像目录权限:
[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]bash
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



chmod -R 777 /opt/wvp/volumes/video/

  • 验证ZLMediaKit配置:
[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]ini
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



[record]mp4_save_path=/opt/media/www/record/

  • 确认磁盘空间充足:
[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]bash
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



df -h /opt/wvp/volumes/

Mac系统部署问题
特殊处理:
  • 使用网桥模式替代host模式
  • 修改SIP服务配置:
[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]yaml
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



# docker-compose.ymlenvironment:  SIP_HOST: 0.0.0.0  # 或容器IP 172.18.0.2

  • 访问宿主机服务使用:
host.docker.internal性能优化建议MySQL优化配置[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]ini
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



[mysqld]max_connections=1000innodb_buffer_pool_size=2Gquery_cache_size=64M

ZLMediaKit优化[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]ini
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



[rtp_proxy]port_range=30000-40000udp_recv_socket_buffer=8388608[record]sampleMS=1000mp4_max_second=3600

JVM参数调整[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]yaml
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



# docker-compose.ymlenvironment:  WVP_JVM_CONFIG: -Xms512m -Xmx1024m

监控与运维服务状态检查[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]bash
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



# 查看容器状态docker-compose ps# 查看WVP日志docker-compose logs -f polaris-wvp# 检查媒体流状态curl http://localhost:6080/index/api/stat | jq .data.streams

开机自启配置[backcolor=rgb(247 247 247/var(--tw-bg-opacity))][size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][backcolor=rgb(232 232 232/var(--tw-bg-opacity))][size=0.875]bash
[size=0.75][color=rgb(0 0 0/var(--tw-text-opacity))][size=0.875]复制



sudo tee /etc/systemd/system/wvp.service << EOF[Unit]Description=WVP-GB28181-Pro Docker ServiceAfter=docker.service[Service]WorkingDirectory=/opt/wvp-GB28181-pro/dockerExecStart=/usr/bin/docker-compose up -dExecStop=/usr/bin/docker-compose downRestart=always[Install]WantedBy=multi-user.targetEOFsudo systemctl enable wvp





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|红河在线

GMT+8, 2026-2-11 20:26 , Processed in 0.211462 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表