Docker: 容器如何访问windows宿主机中的服务,在容器中访问宿主机部署的服务,在容器中ping到宿主机

一、使用背景:

1、项目中使用到srs作为流媒体服务器

2、测试阶段时,将srs部署在windows10中

3、需要对推流拉流做认证操作

二、查看windows的hosts文件:C:\Windows\System32\drivers\etc\hosts

docker-desktop会在windows电脑每次启动时,将下面 配置写到hosts文件中

# Added by Docker Desktop
192.168.3.13 host.docker.internal
192.168.3.13 gateway.docker.internal
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section

如何让srs服务器访问到部署在windows系统中的认证接口:通过hosts中配置的域名host.docker.internal

三、srs关于推流拉流的配置:

 http_hooks {

        #这里配置的是srs的回调函数
        enabled         on;
        on_dvr          http://host.docker.internal:8888/srs/dvr;
        on_publish      http://host.docker.internal:8888/srs/publish;
        on_unpublish    http://host.docker.internal:8888/srs/un_publish;
        on_play         http://host.docker.internal:8888/srs/play;
        on_stop         http://host.docker.internal:8888/srs/stop;

    }

关于srs的回调函数,以on_publish 推流为例子,在推流前会将推流信息先发送给  http://host.docker.internal:8888/srs/publish 接口,在该接口中可以拿到推流信息,可以在地址栏中添加token信息,作为认证,该接口如果认证token通过,返回特定值,才能推流成功。

其中host.docker.internal会被解析成宿主机的局域网地址,这样容器就可以访问宿主机中部署的服务了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值