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. Android中的特殊权限

    AndroidManifest中定义的权限分为普通权限,危险权限和特殊权限. 普通权限指的是不会威胁到用户的安全和隐私的权限,只需要在AndroidManifest中声明一下就能直接使用. 危险权限指 ...

  2. Excel入门

    Excel入门 一.Excel 2019工作界面介绍 文件菜单 选项卡.功能区和组 快速访问工具栏 公式编辑栏(名称框.编辑按钮.编辑栏) 内容编辑区(单元格.行号.列标.水平滚动条.垂直滚动条.工作 ...

  3. 如何在Windows 10上使用VS2019 编译C

    一.安装VS 2019 首先VS官网上下载免费的VS2019 community.我们的目的是在Windows上使用该软件编译C,如下图所示,把使用C++的桌面开发打上勾 二.创建.C 项目 1.打开 ...

  4. Phpstorm 最新永久激活教程

    使用ja-netfilter激活Jetbrains系列软件 注意:无限试用脚本已经失效.本教程适合2021.3.*之上的高版本,使用ja-netfilter插件进行激活操作,永久有效 激活步骤: 第一 ...

  5. WebApi 下载三维zip文件并预览

    // 异步加载 const LoadObj = async (key?: string) => { LoadState.value = true var objStr, mtlStr var i ...

  6. C语言中分治的思想-位运算

    (1) 有101个整数,其中有50个数出现了两次,1个数出现了一次, 找出出现了一次的那个数. 位运算的思想:任何数和零异或得到自己,任何数自己异或得到0. eg1.{2,1,5,1,2,2} num ...

  7. 服务器安装docker

    安装命令: curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 使用国内 daocloud 一键安装: curl -s ...

  8. idea设置springboot项目热部署

    转自: https://www.cnblogs.com/zhukf/p/12672180.html 一.什么是热部署? 热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用. 二.什么是Sp ...

  9. 错误小记录: python取余操作

    -23 % 3 >>>1 23%-3 >>>-1 -23%-3 >>>-2 在计算机语言中,同号的整数运算,所有语言都遵循尽量让商小的原则,所以 ...

  10. Python之常用数据类型详解

    tuple 元组 1 # 定义 2 temp = (2, ) # 规范定义,单个元素的元组 3 tem = 2, # 可行,但不规范定义 4 tep = () # 空元组 5 6 tp = (1, ' ...