我觉得我已经接近让docker-compose和node-inspector一起玩得很好,但是如果有人可以告诉我他们如何设置docker-compose文件以及其工作原理的说明,我将非常乐意。
这是其中仅包含节点应用程序的compose.yml文件的外观:
app:
image: my-node-app
volumes:
- '~/mycode:/app/code'
ports:
- "3000:3000"
command: /bin/bash
另请注意,我正在使用适用于Mac的Docker。 (尽管我认为应该不会有太大改变。)
我找到了一些教程,以获取有关操作方法的信息,但信息要么过时,要么似乎不完整。这是两种主要方法(对我来说都无效):
1)来自:https://github.com/seelio/node-inspector-docker/issues/1
app:
image: my-node-app
ports:
- "3000:3000"
command: /bin/bash
volumes_from:
- code
debugger:
image: node-debug
depends_on:
- app
# `service` instead of `container` for an easier cold start
network_mode: 'service:app'
volumes_from:
- code
code:
image: node
volumes:
- '~/mycode:/app/code'
2)
来自:https://keylocation.sg/our-tech/debugging-nodejs-in-docker-using-node-inspector:
debugger:
container_name: debugger
network_mode: host
extends:
service: base
volumes:
- /app/containers/debugger:/app/container
node-app:
ports:
- "5858:5858" # Port needs to be mapped to host so that debugger container can access it
最佳答案
您必须在应用程序Dockerfile中添加EXPOSE 5858
或EXPOSE 9229
。