Docker部署ZLMediaKit流媒体服务器并自定义配置指南

一、Docker 快速安装 ZLMediaKit

1. 拉取官方镜像

bash 复制代码
docker pull zlmediakit/zlmediakit:master

2. 运行容器

  • 映射配置文件目录
bash 复制代码
docker run -d --name zlmediakit
    -v D:\docker_config\ZLMediaKit:/opt/media/conf 
    -p 1935:1935 -p 8080:80 
    -p 554:554
    -p 5060:5060
    -p 30000-30500:30000-30500/tcp
    -p 30000-30500:30000-30500/udp
    zlmediakit/zlmediakit:master

配置文件,修改项

必改

ini 复制代码
[api]
secret = my_secret_123456  # 必须修改默认值,随便写

[rtp_proxy]
port_range = 30000-30500     # 端口范围需与容器映射一致

[http]
port = 80                    # 保持与容器映射端口对应 宿主机映射到8080
allow_ip_range = 0.0.0.0/0   # 允许所有IP访问
ssl_port=443                 # 若开启HTTPS

[rtmp]
port=1935                    # 必须与Docker映射的容器端口一致

[websocket]
port=9000                    # 若开启WebSocket

[general]
mediaServerId = my_server_01  #服务器唯一id 可自定义

可选优化项

ini 复制代码
[general]
mediaServerId=0001          # 集群部署时需区分ID

[hook]
enable_flow_report=1        # 开启流量统计

3. 端口说明,必开核心端口

端口/范围 协议 用途说明 配置示例
1935 TCP RTMP协议(推流/拉流) -p 1935:1935
80 TCP HTTP协议(HLS/HTTP-FLV播放) -p 8080:80(宿主机端口可调)
554 TCP RTSP协议(实时流传输) -p 554:554
30000-30500 TCP/UDP RTP代理端口范围(WebRTC/RTP转发) -p 30000-30500:30000-30500/tcp -p 30000-30500:30000-30500/udp

二、docker-compose部署(推荐)

yml 复制代码
# docker-compose.yml
version: '3'
services:
  zlmediakit:
    image: zlmediakit/zlmediakit:master
    volumes:
      - /opt/zlmediakit/conf/config.ini:/opt/media/conf/config.ini
    ports:
      - "1935:1935"
      - "8080:80"
      - "554:554"
      - "30000-30500:30000-30500/tcp"
      - "30000-30500:30000-30500/udp"
    restart: always

启动

bash 复制代码
docker-compose up -d

三、验证配置生效

http://localhost:8080/index/api/getApiList?secret=WuNpszEmwWeqNKGqkeddIORcOI0OqNmq

能访问, 表示开启成功

直接拷贝

ini 复制代码
[api]
secret = 2hL9M4kQ7wXjFnRt3zP5Q8sV4bY1DuA2  # 必须修改默认值

[rtp_proxy]
port_range = 30120-30125     # 端口范围需与容器映射一致

[http]
port = 8086                  # 保持与容器映射端口对应 宿主机映射到8080
allow_ip_range = 0.0.0.0/0   # 允许所有IP访问
ssl_port=443                 # 若开启HTTPS

[rtmp]
port=1935                    # 必须与Docker映射的容器端口一致

[websocket]
port=9000                    # 若开启WebSocket

[general]
mediaServerId = HnYjpLtzGdKQWmBv  #服务器唯一id 可自定义
相关推荐
子兮曰2 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
小羊没烦恼!2 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
子兮曰2 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
俊昭喜喜里2 天前
java中的继承和多态的区别
java
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
爱勇宝2 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
譕痕2 天前
JSONObject与JSONArray封装数据格式区别
java·json
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
胡写代码2 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖2 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商