我如何在 docker 容器中 运行 kurento,在主机上使用 kurento hello world 示例

How do I run kurento in a docker container, with kurento hello world example on host machine

我已经克隆了 kurento docker 这样我就可以在容器中使用 kurento 服务器。我正在使用 kurento-hello-world javascript 版本。

我使用以下设置

  "net":
    {
        "websocket":
        {
            "port": "8888",
            "secure":
            {
                "port": "8080",
                "certificate": "defaultCertificate.pem",
                "password": ""
            },
            "path": "kurento",
            "threads": "10"
        }
    }

我也为kurento配置了stun服务器

"WebRtcEndpoint":
        {
            "stunServerAddress": "<173.194.66.127>",
            "stunServerPort": "<19302>",
            "configPath": "\/etc\/kurento\/modules\/kurento"
        },

当我构建 docker 图像时,我在与配置相同的文件夹中创建了一个名为 defaultCertificate.pem 的自签名证书。正如我所读到的,kurento 服务器需要安全连接。我在 docker 容器中公开端口 8080。

然后我在主机 运行ning 上的端口 8443 上启动 kurento-hello-world 示例。我按如下方式访问 url

https://localhost:8443/index.html?ws_uri=wss://localhost:8080/kurento

hello world例子给出了一个sdp offer。问题是 hello world 示例然后输出。

WebSocket connection to 'wss://localhost:8080/kurento' failed: Error in connection establishment: net::ERR_CONNECTION_CLOSED

这意味着远程流中没有显示任何内容。当我查看 kurento 服务器日志时,似乎什么都没有记录。

简而言之,我如何获得 hello world 示例来与我的 运行ning 在 docker 中的 kurento 服务器进行通信。

编辑: 我进入克隆存储库的 docker 文件夹,我 运行 docker 像这样:

docker build -t kurento .
docker run -t kurento

我没有添加 -p 8080:8080,因为我在 docker 文件中公开了端口。虽然我也试过这种方法。

哎呀...不是最严重的错误,只是不得不改变

"stunServerAddress": "<173.194.66.127>",

"stunServerPort": "<19302>",

"stunServerAddress": "173.194.66.127",

"stunServerPort": "19302",

找错地方了。