docker搭建直播
一、下载直播软件
我们下载nginx-rtmp的镜像(https://hub.docker.com/r/tiangolo/nginx-rtmp)
docker pull tiangolo/nginx-rtmp
二、运行容器并做相关的配置
docker run --name live-nginx -p 1935:1935 -p 80:80 -v /Users/lishuo/Code/docker/live_nginx/html:/usr/share/nginx/html -v /Users/lishuo/Code/docker/live_nginx/conf/nginx.conf:/etc/nginx/nginx.conf -d tiangolo/nginx-rtmp:latest
- docker run 基于镜像运行容器
- —name live-nginx 给容器自定义名字
- -p 1935:1935 宿主机:容器做映射 1935直播端口号
- -p 80:80 宿主机:容器做映射 80 nginx默认端口
- -v /Users/lishuo/Code/docker/live_nginx/html:/usr/share/nginx/html nginx项目访问数据卷映射 宿主机(/Users/lishuo/Code/docker/live_nginx):容器 (/usr/share/nginx/html)
- /Users/lishuo/Code/docker/live_nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx配置文件的映射,作用是配置直播相关的配置信息
- -d 守护进程
- tiangolo/nginx-rtmp:latest 基于此容器进行运行
tips:
/Users/lishuo/Code/docker/live_nginx/html (自己本地的路径,别复制我的)
/Users/lishuo/Code/docker/live_nginx/conf/nginx.conf (这个文件内容我放到下面)
nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;#监听端口
chunk_size 500;#切片大小
application mylive {
live on;#开启
hls on;
hls_path /usr/share/nginx/html/live_stream;#流文件保存位置
hls_fragment 5s;#延迟
}
}
}
http {
server {
listen 80;
location / {
# 这里可以添加其他 HTTP 配置
root /usr/share/nginx/html;
index index.html index.htm;
}
}
}
执行以上指令得到运行的容器
三、测试网站映射是否成功
在自己本地的/Users/lishuo/Code/docker/live_nginx/html (自己本地的路径,别复制我的)新建html文件,内容自己定义 使用ip地址进行访问即可:出现以下界面,访问成功
四、测试直播rtmp推流是否成功
- 下载推流工具obs或者其他的推流工具
2.没有显示推流异常,即推流成功