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 可自定义
相关推荐
大鸡腿同学1 小时前
【成长类】《只有偏执狂才能生存》读书笔记:程序员的偏执型成长地图
后端
0xDevNull1 小时前
MySQL数据冷热分离详解
后端·mysql
一定要AK1 小时前
Spring 入门核心笔记
java·笔记·spring
A__tao1 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
AI袋鼠帝1 小时前
OpenClaw(龙虾)最强开源对手!Github 40K Star了,又一个爆火的Agent..
后端
KevinCyao2 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
迷藏4942 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
wuxinyan1233 小时前
Java面试题47:一文深入了解Nginx
java·nginx·面试题
新知图书3 小时前
搭建Spring Boot开发环境
java·spring boot·后端
小敬爱吃饭3 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘