【问题标题】:Debug a NodeJS application inside Docker在 Docker 中调试 NodeJS 应用程序
【发布时间】:2015-06-23 19:38:53
【问题描述】:

我正在将我的 NodeJS 应用程序移动到 docker,我遇到的最后一个问题是调试应用程序。

我的设置:OSx、boot2docker、docker(基于 centos)、WebStorm 作为 IDE 和调试器。

这是我现在所拥有的:
将 5858 从 docker 转发到 boot2docker:

docker run -p 5858:5858 ...

从 boot2docker 转发 5858 端口到主机:

VBoxManage controlvm boot2docker-vm natpf1 "boot2docker5858,tcp,127.0.0.1,5858,,5858"

同样的设置可以将我的应用程序端口前言到主机。 另一方面,如果从 docker 容器外部访问,端口 5858 似乎没有反应。
在 docker 容器内它工作得很好。

知道可以做些什么来完成这项工作吗?

【问题讨论】:

    标签: node.js docker


    【解决方案1】:

    好吧,我终于想通了。
    看起来,节点只监听 127.0.0.1:5858。

    为了让它监听所有端口,我在 docker 上安装了 HAProxy,它将请求从 0.0.0.0:5859 转发到 127.0.0.1:5858。

    如果有人需要,这里是 HAProxy 配置:

    listen l1 0.0.0.0:5859
        mode tcp
        timeout client 180000
        timeout server 180000
        timeout connect 4000
        server srv1 127.0.0.1:5858
    

    然后添加到您的 Dockerfile 中:

    COPY haproxy.conf haproxy.conf
    RUN haproxy -D -f /haproxy.conf
    

    【讨论】:

      猜你喜欢
      • 2020-04-21
      • 2019-12-15
      • 1970-01-01
      • 2019-02-15
      • 2016-07-25
      • 2015-05-24
      • 1970-01-01
      • 2021-01-22
      • 2017-07-11
      相关资源
      最近更新 更多