如何设置localhost Cotrun服务器进行离线开发?

问题描述 投票:0回答:1

我正在构建一个需要 Coturn 服务器的 WebRTC 项目。我是 努力设置本地主机版本以用于开发。请 不建议使用第三方 TURN 服务器。我一直在使用它们 到目前为止,已经出现了不一致的连接和延迟问题,因此 现在打算举办一场。

该项目正在使用

docker
。我使用的
coturn
图像是 https://github.com/kevzettler/coturnDockerLongTermCredentials

我正在尝试手动

docker run
容器并使其工作。


docker run \
       --name turnserver \
       --net=host \
       -e "TURN_PORT_START=49152" \
       -e "TURN_PORT_END=65535" \
       -e "TURN_REALM=projectName" \
       -d \
       -t \
       meetrix/coturn-long-term-cred

测试与我正在使用的 Turn 服务器的连接 https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ 并将其指向

turn:0.0.0.0

我能够在生产托管计算机上执行此操作,并使用trickle-ice 页面成功连接。然而,本地主机失败了。

我想获得本地 Coturn 设置,以便我可以离线开发。我认为主要问题是开放端口。

Coturn 预计将开放大量港口

49152-65535
。如果我们更新 docker 命令显式公开这些端口,例如:


docker run \
       --name turnserver \
       -p 3478:3478/udp \
       -p 3478:3478 \
       -p 49152-65535:49152-65535/udp \
       -e "TURN_PORT_START=49152" \
       -e "TURN_PORT_END=65535" \
       -e "TURN_REALM=projectname" \
       -d \
       -t \
       meetrix/coturn-long-term-cred

docker 守护进程将会崩溃。

这就是为什么初始运行命令和生产使用

--net=host
--net=host
将会 使用主机防火墙而不是
dockers

主机 此本地开发环境是 macOS Sierra。我怀疑端口 在

--net=host
场景中,未在 macOS 级别打开。

docker networking docker-compose webrtc turn
1个回答
0
投票

记住 - Mac 或 Windows 不支持 docker 主机网络驱动程序,因此它只能在 Linux 主机上工作。更多详细信息可以在这里找到:https://docs.docker.com/network/drivers/host/

所以做的时候

docker run --rm --network host coturn/coturn:alpine

端口在本地主机上不可用。

您需要显式映射端口

© www.soinside.com 2019 - 2024. All rights reserved.