You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode调试Docker中Node.js应用时出现URI格式占位符错误

问题描述

尝试配置VSCode调试Docker容器中的Node.js应用,容器能正常构建运行,但弹出错误对话框:

Format uri ('http://localhost:%s') must contain exactly two substitution placeholders

该错误未出现在VSCode的输出/终端窗口,代码和配置文件中也找不到该格式字符串,且容器内应用可正常响应HTTP请求。

VSCode终端执行的docker run命令:

docker run -dt --name "xxnodejsservicetemplate-dev" -e "DEBUG=*" -e "NODE_ENV=development" --label "com.microsoft.created-by=visual-studio-code" -p "3000:3000" -p "9229:9229" "xxnodejsservicetemplate:latest" yarn dev --debug 0.0.0.0:9229
解决思路
  • 检查调试配置文件launch.json:重点看request: "attach"类型的配置项,排查是否存在url字段错误使用%s占位符的情况(比如"url": "http://localhost:%s")。Node.js调试的attach配置通常不需要这个字段,或者应该用VSCode变量(如${port})替代占位符。
  • 排查插件版本问题:把VSCode的Debugger for Node.js和Docker插件更新到最新稳定版,或者尝试回退到之前的兼容版本,避免插件bug引发格式错误。
  • 重新生成调试配置:删掉现有launch.json,通过VSCode调试面板的「添加配置」选择「Docker: Attach to Node」,让系统自动生成标准配置,避开手动配置的语法错误。
  • 检查全局设置:查看VSCode的settings.json中,是否有和JavaScript调试、Docker相关的配置项包含错误占位符,比如debug.javascript.defaultRuntimeExecutable这类字段。

内容的提问来源于stack exchange,提问作者denishaskin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 12:03:22