运行 ObserveRTC 示例时 Mediasoup 错误:`getaddrinfo ENOTFOUND host.docker.internal`

ros*_*ani 4 docker docker-compose mediasoup

这是我想要设置的项目: https ://github.com/ObserveRTC/full-stack-examples

我使用以下命令启动了该应用程序:

SFU_ANNOUNCED_IP="192.168.60.79" docker-compose up
Run Code Online (Sandbox Code Playgroud)

这个错误发生在 MediaSoup 上:

ObserveRTC::RestTransport Wed, 14 Dec 2022 07:44:56 GMT Request failed. canRetry: true Error: getaddrinfo ENOTFOUND host.docker.internal
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
  errno: -3008,
  code: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'host.docker.internal'
}
Run Code Online (Sandbox Code Playgroud)

我从以下位置找到了这个IP ifconfig

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.60.79  netmask 255.255.255.0  broadcast 192.168.60.255
...
Run Code Online (Sandbox Code Playgroud)

ros*_*ani 9

host.docker.internalDocker Compose 文件中的参数仅在 Windows 和 Mac 中定义,解析为主机使用的内部 IP 地址

我的操作系统是Linux!

在linux中localhost以主机模式或172.18.0.1桥接模式使用。


小智 5

我在项目中遇到了同样的问题,并通过在 docker compose 中添加额外的主机配置来解决此问题

service:
   container_name: myService
   extra_hosts:
     - "host.docker.internal:host-gateway" <---- add this part
Run Code Online (Sandbox Code Playgroud)

我的环境:

  • 乌班图22.04
  • 泊坞窗24.0.2