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. Spring5框架

    Spring5框架 一.Spring框架概述 1.1 Spring框架简介 Spring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的 ...

  2. [杂谈吐槽]UE国内社区环境

    此篇博客是我个人想法,当然也是不争的事实,如果您有意见,那您也是我说那些人其中的一员. --此部分为社区环境差最恶劣的原因-- 国内的虚幻社区环境可以说不能再烂了,虚幻商城和虚幻引擎的蓝图是非常强大的 ...

  3. Windows修改用户名

    修改用户名 右键此电脑>>管理>>本地用户和组>>用户,找到要修改的用户,重命名 修改用户home目录名 1.激活管理员账号 右键此电脑>>管理> ...

  4. 文献阅读——Watch Sat and LTO for CaDiCaL and Kissat

    Norbert Mantheynmanthey@conp-solutions.comDresden, Germany Proceedings of SAT Competition 2022: Solv ...

  5. iOS Unity 项目解析

    本文旨在记录Unity 导出的iOS 项目笔记,另带接入SDK的终极方案,顺带对比Android 项目 1蓝色的目录 Data 这个就是项目的数据,每个项目不一样也就是这个目录不一样,是不是可以把这个 ...

  6. echarts 玫瑰图+中间文字

    option = { tooltip: { trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)' }, title: { text: ...

  7. 在Win7的64位系统中安装最新版Eclipse或STS

    Eclipse版本为:eclipse-jee-2021-12-R-win32-x86_64 STS版本为:sts-4.13.1.RELEASE 这两个版本中都自带了17.0.1的jre插件,默认会使用 ...

  8. 5G智能网关助力打造5G移动医疗车

    医疗资源分布不均衡,是导致老百姓看病难的重要原因之一.随着新一代信息技术的快速发展和普及应用,基于5G远程通信技术.音视频数字化技术,解决医疗资源分布不均衡问题,打破空间限制,让群众在家门口就能享受到 ...

  9. Hash中的bucket什么意思?

    这个好理解.无序容器的内部是由一个个的bucket(桶)构成的,每个bucket里面由相同hash的元素构成. 因此无序容器的搜索是先根据hash值,定位到bucket,然后再在bucket里面搜索符 ...

  10. Fastboot_Cmd

    /* -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- */adb命令:/* -*-* ...