一、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 可自定义