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 可自定义
相关推荐
Conan在掘金15 小时前
鸿蒙 ArkUI 进阶:@Provide 和 @Consume,跨层传递的「直通车」,告别 props 层层透
后端
147API15 小时前
Claude Tag 进入 Slack 后,团队智能体需要哪些任务与审计字段
java·开发语言·数据库
用户2986985301415 小时前
Python 数据处理:XML 与 Excel 互转的实用指南
后端·python·excel
用户99314415798415 小时前
Java打包操作编译报错
后端
dyonggan15 小时前
IDEA从零搭建SpringCloud Alibaba完整工程
java·spring cloud·intellij-idea
代码雕刻家15 小时前
编程语法细节
java·c语言·开发语言
SimonKing15 小时前
Agnes AI出桌面版了,可图可视频,免费用
java·后端·程序员
CodeSheep15 小时前
有这4个迹象,你就该离职了!
前端·后端·程序员
程序员爱钓鱼15 小时前
Rust 元组 Tuple 详解:组合不同类型的数据
前端·后端·rust
IT_陈寒16 小时前
React的useEffect为什么经常执行两次?
前端·人工智能·后端