答案是:通过配置Dockerfile暴露9229端口、docker-compose映射端口与源码卷、launch.json设置远程调试路径,可在VS Code中成功调试容器内Node.js应用。

在 VS Code 中调试运行在 Docker 容器中的应用,关键在于配置开发环境,使调试器能连接到容器内的进程。只要正确设置 launch.json 和 Dockerfile,整个过程非常顺畅。
确保你的应用镜像包含调试所需的依赖,并暴露调试端口。
# 使用官方 Node 镜像
FROM node:18
<h1>创建工作目录</h1><p>WORKDIR /app</p><h1>复制 package 文件并安装依赖</h1><p>COPY package*.json ./
RUN npm install</p><h1>复制源码</h1><p>COPY . .</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/ai/747">
<img src="https://img.php.cn/upload/ai_manual/001/503/042/68b6dc26b749e357.png" alt="Bolt.new">
</a>
<div class="aritcle_card_info">
<a href="/ai/747">Bolt.new</a>
<p>Bolt.new是一个免费的AI全栈开发工具</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="Bolt.new">
<span>466</span>
</div>
</div>
<a href="/ai/747" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="Bolt.new">
</a>
</div>
<h1>暴露应用端口和调试端口</h1><p>EXPOSE 3000
EXPOSE 9229</p><h1>启动命令使用 inspect 标志启用调试</h1><p>CMD ["node", "--inspect=0.0.0.0:9229", "index.js"]</p>使用 docker-compose.yml 简化容器启动和端口映射:
version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
- "9229:9229"
volumes:
- .:/app
- /app/node_modules
在项目根目录的 .vscode/launch.json 中添加调试配置:
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Docker Container",
"type": "node",
"request": "attach",
"port": 9229,
"address": "localhost",
"localRoot": "${workspaceFolder}",
"remoteRoot": "/app",
"protocol": "inspector",
"skipFiles": [
"<node_internals>/**"
]
}
]
}
以上就是在VS Code中调试运行在Docker容器里的应用的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号