调试Docker

时间:2015-06-23 10:02:45

标签: node.js docker

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

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

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

docker run -p 5858:5858 ...

从boot2docker转发5858端口到主机:

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

这同样的设置可以将我的应用程序端口引导到主机。 另一方面,端口5858,如果从码头工人集装箱外部进入,则似乎没有反应 在docker容器内部工作正常。

知道可以做些什么来使这项工作?

1 个答案:

答案 0 :(得分:0)

好吧,我终于明白了。
看起来,节点只侦听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