[英]Debug a NodeJS application inside Docker
我正在將NodeJS應用程序移至docker,最后遇到的問題是調試該應用程序。
我的設置:OSx,boot2docker,docker(基於centos),WebStorm(作為IDE)和調試器。
這是我現在擁有的:
將5858從Docker轉發到boot2docker:
docker run -p 5858:5858 ...
將5858端口從boot2docker轉發到主機:
VBoxManage controlvm boot2docker-vm natpf1 "boot2docker5858,tcp,127.0.0.1,5858,,5858"
相同的設置可以將我的應用程序端口引到主機上。 另一方面,如果從docker容器外部進行訪問,端口5858似乎沒有反應。
在docker容器中,它工作正常。
任何想法可以做這項工作嗎?
好吧,我終於弄清楚了。
看起來,節點僅偵聽127.0.0.1:5858。
為了使其能夠在所有端口上進行偵聽,我在碼頭上安裝了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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.