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 可自定义
相关推荐
诺NA亚2 小时前
ElasticSearch+RAG初使用
java
羑悻2 小时前
atomic凭什么线程安全?无锁编程为何有时比锁还慢?C++高并发必懂的原子操作真相!
后端
SamDeepThinking2 小时前
synchronized 和 lock 有什么区别?
java·后端·面试
m0_587383002 小时前
无人自助拼豆系统的全栈开发方案
java·后端·struts·小程序·架构
绾樘2 小时前
Docker
docker·容器
java_logo2 小时前
Docker 部署 MariaDB:轻松搭建开源关系型数据库
数据库·docker·容器·开源·mariadb·轩辕镜像·docker部署教程
临期冰淇淋2 小时前
MTK平台 安卓16 GMS报错修改
android·java·前端
人道领域2 小时前
【面试八股速通篇01】锁与并发工具
java·开发语言·面试·c#
Wang's Blog2 小时前
Java 项目实战: 交友项目 - Dubbo 入门案例全流程复盘
java·dubbo·交友
Profile排查笔记3 小时前
浏览器多开怎么设置独立 IP?Profile、代理与核验流程
前端·人工智能·后端·自动化