新闻中心
如何使用VS Code调试在Docker容器中运行的应用程序
答案:使用VS Code调试Docker容器内应用需配置支持调试的镜像并暴露端口,如Node.js添加--inspect=0.0.0.0:9229;启动容器时映射调试端口-p 9229:9229并挂载代码卷;在launch.json中设置attach模式,指定端口、地址及路径映射;最后启动容器并在VS Code中附加调试器即可命中断点。

调试运行在 Docker 容器中的应用程序是开发中常见的需求。使用 VS Code 可以方便地实现断点调试,只要正确配置开发环境和容器运行参数。关键是让调试器能连接到容器内的进程,并确保代码同步和端口映射正常。
1. 准备支持调试的 Docker 镜像
你的镜像需要包含调试工具并暴露调试端口。以 Node.js 应用为例,修改 Dockerfile:
- 使用调试模式启动应用,例如 Node.js 添加 --inspect=0.0.0.0:9229
- 确保监听地址为 0.0.0.0 而非 localhost,否则外部无法访问
- 在 Dockerfile 中开放调试端口,如 EXPOSE 9229
CMD [ "node", "--inspect=0.0.0.0:9229", "server.js" ]
2. 启动容器并映射调试端口
运行容器时必须将调试端口从容器映射到宿主机:
- 使用 -p 9229:9229 将容器的 9229 端口映射到本地
- 确保容器内的代码与本地一致,可通过挂载卷实现热更新
- 推荐使用 -v ${PWD}:/app 挂载源码目录
3. 配置 VS Code 的 launch.json
在项目根目录的 .vscode/launch.json 中添加调试配置:
Moshi Chat
法国AI实验室Kyutai推出的端到端实时多模态AI语音模型,具备听、说、看的能力,不仅可以实时收听,还能进行自然对话。
160
查看详情
- 设置类型为 node
- 使用 attach 模式连接到远程进程
- 指定本地代码路径与容器中路径的映射关系
{ "type": "node", "request": "attach", "name": "Attach to Docker", "port": 9229, "address": "localhost", "localRoot": "${workspaceFolder}", "remoteRoot": "/app" }
4. 开始调试
一切就绪后,按以下步骤操作:
- 先启动容器,确认应用和调试端口已运行
- 在 VS Code 中打开对应项目
- 在代码中设置断点
- 从运行和调试面板选择“Attach to Docker”并启动
- 当请求触发对应代码时,断点将被命中
基本上就这些。只要容器能连上、端口映射正确、路径匹配,VS Code 就能顺利调试。不复杂但容易忽略细节。
以上就是如何使用VS Code调试在Docker容器中运行的应用程序的详细内容,更多请关注其它相关文章!
# 连接到
# 猫咪产品文案网站推广
# 拉面馆推广怎么做好营销
# 安徽抖音营销推广是什么
# 希尔顿的网站建设目标
# 提供福州seo案例
# 成华区短视频seo厂家
# 绍兴网站seo站内优化公司
# 宁波网站建设模板制作
# 海南seo排名哪家好些
# 开店要怎么营销推广
# 就能
# 调试器
# 端口映射
# 状态栏
# 一键
# docker
# 如何使用
# 镜像
# 应用程序
# 容器内
# 开发环境
# 工具
# 端口
# app
# node
# json
# node.js
# js
# vscode
# vs code
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
拼多多赚钱渠道_拼多多收益来源
在J*a中如何使用Stream.map转换元素_Stream映射操作解析
如何使用CaptainHook和Composer管理Git钩子_在提交前自动运行代码检查的Composer配置
如何在J*a中实现统一对象行为接口_项目大型化时的接口规范化
C++20的source_location是什么_C++在编译期获取源码位置信息用于日志和断言
Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】
Gmail邮箱申请注册直达_Gmail邮箱免费注册PC版官网入口2025
126邮箱网页版官方入口 126邮箱账号在线登录平台
印象笔记如何设提醒任务防漏执行_印象笔记设提醒任务防漏执行【任务提醒】
动漫岛观看全网网 动漫岛在线正版动漫入口
漫蛙manwa2最新登录网址_漫蛙manwa2手机网页版入口
Composer的 "conflict" 字段有什么用_如何声明不兼容的包以避免依赖冲突
汽水音乐网页版使用入口_汽水音乐电脑版播放指南
J*aScript中高效管理与清空动态列表:避免循环陷阱
《马克思佩恩3》早期版本曝光 UI设计曾多次调整!
Centos/Linux 系统下安装 composer 的完整步骤
Python:递归比较文件夹内容并找出特定类型文件的差异
React项目中导航栏Logo自适应布局:避免裁剪与布局溢出
Bing引擎入口最新2025 Bing搜索免费官方登录
C++如何实现一个装饰器模式_C++设计模式之动态地给对象添加额外职责
Win11怎么安装Linux子系统 Win11 WSL2安装Ubuntu及环境配置指南
夸克浏览器桌面版同步不了书签怎么处理 夸克浏览器跨设备同步异常解决方案
Tabulator表格日期时间排序问题及自定义解决方案
抓大鹅解压小游戏 抓大鹅摸鱼解压入口
163邮箱注册官网 免费申请163个人邮箱
如何使用J*aScript精确选择并批量修改特定父元素下子链接的样式
lar*el怎么安全地存储和获取配置文件中的敏感信息_lar*el敏感信息安全存储方法
age动漫网站入口 age动漫官网直接访问入口
自定义Bag-of-Words实现:处理带负号的词汇权重
在python-socketio事件处理器中安全访问Flask应用上下文
C++指针和引用有什么区别_C++内存管理核心概念深度解析
响应式图片在网页设计中的正确实现方法
押井守高度称赞《辐射4》:玩了八年都停不下来!
魅族20怎样在浏览器开无图省流_iPhone魅族20浏览器开无图省流【流量节省】
jQuery Mask 插件中实现电话号码固定前导零的教程
c++中的const_cast和reinterpret_cast怎么用_c++四种类型转换
J*a TimerTask中HashMap意外清空的深层原因与解决方案
vivo浏览器怎么扫描二维码 vivo浏览器内置扫一扫功能使用方法
Lar*el的路由模型绑定怎么用_Lar*el Route Model Binding简化控制器逻辑
台积电1.4nm工艺A14瞄准2028:10年来性能提升80%
使用Python高效删除Word宏并转换DOCM为DOCX格式
大麦的“候补”是什么意思 大麦候补购票规则【详解】
qq浏览器如何查看和导出已保存的密码 qq浏览器密码管理器数据备份教程
TikTok网页版直接登录 TikTok网页端官方平台入口
DLsite中文平台入口 DLsite官网内容在线查看
Pandas DataFrame 高效批量赋值:告别循环与笛卡尔积误区
抖音创作助手登录入口_抖音创作辅助工具官网直达
J*aScript类型检查_j*ascript代码规范
谷歌邮箱注册显示错误Gmail服务器异常与延迟处理
Basecamp怎样用留言钉固定重点_Basecamp用留言钉固定重点【重点标记】


2025-12-05
浏览次数:次
返回列表