我想爲我的應用使用官方node
泊塢窗圖像。但是,我無法讓遠程調試器在主機上工作。我正在使用Visual Studio代碼連接到遠程調試器。使用Visual Studio遠程調試Docker中的NodeJS代碼
奇怪的是使用非官方的圖像cusspvz/node
遠程調試器工作正常。
當我運行docker log
對容器我得到以下輸出的cusspvz/node
實例:
Debugger listening on [::]:5858
然而,當我運行docker log
對容器的node
例子中,我得到:
Debugger listening on 127.0.0.1:5858
這使我相信調試器正在監聽錯誤的IP a地址(應該是通配符而不是本地主機?)
我試過內置調試器以及nodemon。不幸的是,我無法讓節點檢查器工作,因爲它無法安裝(看起來構建失敗了)。
這裏是我的Dockerfile:
FROM node
WORKDIR /scraper
EXPOSE 5858
ENTRYPOINT ["/bin/bash", "-c", "if [ -z \"$REMOTE_DEBUGGING\" ]; then node --debug index.js; else node --debug-brk index.js; fi"]
COPY . /scraper
RUN npm install
我開始與碼頭工人,撰寫的容器,使用這種YML文件:
version: '2'
services:
alt.nphotos.imagescraper:
container_name: nscraper
hostname: nscraper
build:
context: ./ALT.NPhotos.ImageScraper
dockerfile: Dockerfile.debug
environment:
- REMOTE_DEBUGGING=1
- AMQP_CONNECTIONSTRING=amqp://guest:[email protected]
ports:
- "5858:5858"
任何想法? - TIA!
完整側面說明你的問題:你應該指定一個版本號標記你的' FROM'指令。例如'FROM node:6.9.5' ...否則,每次構建圖像時,都會得到最新的/最新的節點版本。這聽起來不錯,直到不需要的升級破壞你的代碼 –
謝謝@DerickBailey我會記住這一點 –
你試過這個:http://stackoverflow.com/questions/12440169/how-do-you-debug- a-node-js-server-running-with-chrome-webkit-as-the-the-remote-debug –