SRS+Docker部署教程

安装Docker

Windows安装docker
  1. 安装Hyper-V

    Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。

    但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!

  2. 开启Hyper-V

选择程序和功能

选中Hyper-V

也可以通过命令来启用 Hyper-V ,请右键开始菜单并以管理员身份运行 PowerShell,执行以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
  1. 安装Docker Desktop for Windows

    点击 Get started with Docker Desktop,并下载 Windows 的版本

  2. 安装启动

    如果启动中遇到因 WSL 2 导致地错误,请安装 WSL 2

    安装之后,可以打开 PowerShell 并运行以下命令检测是否运行成功:

    docker run hello-world
Centos Docker安装
  1. 安装Docker

    yum install -y docker
  2. 开启Docker服务

    systemctl start docker.service
  3. 查看安装结果

    docker version
  4. 设置开机启动

    systemctl enable docker.service
  5. 设置Docker镜像加速

    vim /etc/docker/daemon.json

    在配置文件中加入加速镜像源地址即可

    {
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }

    重新加载配置文件,重启docker服务

    systemctl daemon-reload
    systemctl restart docker.service

部署SRS

  1. 拉取SRS镜像

    docker pull ossrs/srs:4
  2. 运行

    docker run -it -p 1935:1935 -p 1985:1985 -p 8080:8080 --name iot-srs ./objs/srs -c conf/docker.conf

    端口说明

    • 1935: 默认的RTMP推拉流端口
    • 1985: 默认的HTTP拉流端口
    • 8080: 默认的SRS HTTP API调用端口
  3. 修改docker.conf配置文件

    # docker config for srs.
    # @see full.conf for detail config. listen 1935;
    max_connections 1000;
    # For docker, please use docker logs to manage the logs of SRS.
    # See https://docs.docker.com/config/containers/logging/
    srs_log_tank console;
    daemon off;
    http_api {
    enabled on;
    listen 1985;
    }
    http_server {
    enabled on;
    listen 8080;
    dir ./objs/nginx/html;
    }
    rtc_server {
    enabled on;
    listen 8000;
    # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
    candidate $CANDIDATE;
    }
    vhost __defaultVhost__ {
    hls {
    enabled on;
    }
    http_remux {
    enabled on;
    mount [vhost]/[app]/[stream].flv;
    }
    rtc {
    enabled on;
    # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
    rtmp_to_rtc on;
    # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
    rtc_to_rtmp on;
    }
    http_hooks { # http回调功能 默认关闭
    enabled off;
    on_publish http://192.168.31.11:8083/iot/v1/srs/stream/publish; #发生推流时
    on_unpublish http://192.168.31.11:8083/iot/v1/srs/stream/unpublish; #结束推流时
    }
    }

    可能会出现docker中http回调127.0.0.1或者localhost时无法访问鉴权服务器, 将鉴权服务器改成0.0.0.0运行

SRS+Docker部署教程的更多相关文章

  1. linux部署安装SRS流媒体服务器教程

    这段时间一直在搞RTMP流媒体直播项目,期间踩过很多坑,刚开始是用的nginx-rtmp作为流媒体转发服务器,但是效果并不尽人意,推拉流不稳定,特别是拉流,速度特别慢,平均要十多秒才能拉到流,并且交互 ...

  2. Taurus.MVC 微服务框架 入门开发教程:项目部署:4、微服务应用程序发布到Docker部署(上)。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  3. Taurus.MVC 微服务框架 入门开发教程:项目部署:5、微服务应用程序发布到Docker部署(下)。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  4. Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  5. Docker 部署 redis教程,附带部分小建议,防止踩坑

    Docker 部署 redis,附带部分小建议,防止踩坑 跟所有人一样,我们先从docker基本命令开始 一.拉取redis镜像(配图来自菜鸟,其实截图没多大意义,对比看下) # 默认就拉取laste ...

  6. Docker简明教程

    Docker简明教程 [编者的话]使用Docker来写代码更高效并能有效提升自己的技能.Docker能打包你的开发环境,消除包的依赖冲突,并通过集装箱式的应用来减少开发时间和学习时间. Docker作 ...

  7. Docker部署SDN环境

    2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...

  8. Docker入门教程(五)Docker安全

    Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...

  9. Docker入门教程(三)Dockerfile

    Docker入门教程(三)Dockerfile [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第三篇,介绍了Dockerfile的语法,DockerOn ...

  10. Docker(一):Docker入门教程

    如今Docker的使用已经非常普遍,特别在一线互联网公司.使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力.在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如 ...

随机推荐

  1. 判断MP4 文件

    public class CheckResult    {        public bool IsMp4 { get; set; }        public bool SupportStrea ...

  2. re相关正则表达式(re.sub、re.I 、re.S、re.M)

    re.I 表示忽略大小写 re.S 表示全文匹配 re.M 表示全文拼配行尾段位的字符或者数字,影响^和$ re.sub 表示替换 使用方法: re.sub(pattern, repl, string ...

  3. 导入maven包时,非常慢的解决方案

    在导入maven包时,很多时候导的很慢,导致找不到包,需要将maven包下载地址替换为aliyun的地址,以下为解决方案 找到使用的maven地址,在文件内添加以下节点然后重启ide即可 <mi ...

  4. RabbitMQ安装失败 地址提示错误

    最后设置为: D:\RabbitMQ\rabbitmq_server-3.7.10-rc.3\sbin>set ERLANG_HOME=D:\Erlang\erl10.2

  5. shortcuts

    关闭选项卡 Ctrl+W 关闭当前窗口 alt + F4 alt + 空格 + c alt + 空格 + n 最小化窗口 alt + 空格 + x 最大化窗口 ALT+F4 关闭当前应用程序 ctrl ...

  6. Delphi之不可思议

    1.--------不可思议的函数调用--开始- 开发环境D7 1 function TForm1.GetssA: string; 2 begin 3 Result:=Result+'AA'; 4 e ...

  7. CentOS 安装 jdk1.8

    转自:https://www.cnblogs.com/yjlch1016/p/8900841.html 前置条件:不使用openjdk,若想使用openjdk.直接在centos下 使用 yum  查 ...

  8. Halcon代码导出到.net FrameWork/WPF

    1. 应用背景 在工业项目中,往往需要使用机器视觉结合人机界面开发特定的,面向工艺的项目.机器视觉中,Halcon无疑是功能强大的,能快速应用到项目的视觉产品,而WPF则是解决人机界面的利器.因此了解 ...

  9. 01 ansible的基本介绍

    1.现有的企业服务器环境 在现在的企业中,特别是互联网公司,他们的业务量众多:比如负载均衡服务器.web服务器.动态解析(php)服务器.数据库(mysql)服务器以及网站缓存服务器,等等: 例如:一 ...

  10. centos安装k8s注意点

    安装方法,参考 https://blog.csdn.net/frankgy01/article/details/127936367 https://www.cnblogs.com/yangzp/p/1 ...