【问题标题】:Plumber in container on Azure how to map portsAzure 上容器中的管道工如何映射端口
【发布时间】:2020-12-17 00:27:58
【问题描述】:

我用plumber API 构建容器。它在容器的 80 端口上运行,我还暴露了 80 端口。我还映射了端口

az container create ... --ports 80:80

由于 Azure 只支持对称端口映射。

但我仍然无法从容器 FQDN 访问我的 API,而且我不知道如何进行故障排除。我已经使用curl 命令确认 API 在容器中运行良好。

任何建议。

【问题讨论】:

    标签: r azure api containers plumber


    【解决方案1】:

    您是否使用主机 0.0.0.0 运行您的管道工服务器?

    看看plumber官方Docker镜像

    https://github.com/rstudio/plumber/blob/master/Dockerfile

    【讨论】:

    • 感谢分享!我可以试一试。虽然,我不明白为什么 IP 很重要。我确定 API 已经在容器中运行。我只需要正确映射端口。
    • IP问题,如果在主机127.0.0.0或127.0.0.1上看到应用程序,则外部无法访问该应用程序。您应该将主机参数更改为 0.0.0.0。
    • 外部请求不会被路由到本地 IP,这是在操作系统级别完成的,与管道工无关。
    • 我用本地安装的 Docker 尝试了你的设置,你是对的,它适用于 host = "0.0.0.0",但不适用于 "127.0.0.1"。我仍然很困惑这个 IP 路由是如何发生的,谷歌搜索你的声明“外部请求不会被路由到 localhost IP”并没有澄清太多。
    • 你的网址在 https 后面吗?在这种情况下,您必须将管道工 API 放在 nginx 服务器后面,因为管道工不支持 https。见github.com/meztez/plumberDeploy/blob/master/inst/server/…。您必须提供自己的证书。
    猜你喜欢
    • 2019-08-28
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    相关资源
    最近更新 更多