You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Docker与VSCode共存时启动失败,如何排查VSCode占用5123端口?

遇到VSCode运行时Docker服务(epst)因为5123端口被占用启动失败的问题,我来帮你一步步找出对应的进程:

一、先定位占用5123端口的进程

首先得找到占用这个端口的进程ID(PID),再关联到VSCode相关的进程,不同系统的操作如下:

Windows系统

  • 打开命令提示符(CMD)或PowerShell,执行命令:
    netstat -ano | findstr :5123
    
    输出里会有类似 TCP 0.0.0.0:5123 0.0.0.0:0 LISTENING 1234 的内容,最后一列的1234就是占用端口的进程PID。
  • 接着查询这个PID对应的进程详情:
    tasklist /fi "PID eq 1234"
    
    如果结果里显示的是Code.exe或者带VSCode标识的进程,那就是它在占用端口。

macOS/Linux系统

  • 打开终端,执行命令直接查看占用端口的进程:
    lsof -i :5123
    
    输出的PID列是进程ID,COMMAND列如果是Codecode,就说明是VSCode相关进程在占用端口。
  • 也可以用netstat命令:
    netstat -tulpn | grep :5123
    
    输出里的PID/Program name字段会明确显示占用端口的进程信息。
二、排查VSCode内部的扩展或配置

很多时候是VSCode的某个扩展在后台悄悄绑定了端口,你可以这样进一步定位:

  • 关闭所有VSCode窗口,重新打开一个无工作区的干净实例,再检查5123端口是否还被占用。如果恢复正常,说明是某个工作区的配置或扩展导致的。
  • 尝试一次性禁用所有扩展,然后逐个重新启用,每次启用后检查端口状态,就能找出搞事情的那个扩展。
  • 打开VSCode的输出面板(快捷键:Ctrl+Shift+U/Cmd+Shift+U),切换到各个扩展的输出日志,看看有没有关于5123端口绑定的记录。
  • 检查VSCode的settings.json配置文件(快捷键:Ctrl+,/Cmd+,打开设置,点击右上角的「打开JSON」图标),搜索有没有配置5123端口的项。
三、临时解决小技巧
  • 如果已经找到占用端口的VSCode进程PID,可以直接杀掉它:Windows用taskkill /PID 1234 /F,macOS/Linux用kill -9 1234,之后再重启Docker服务试试。
  • 也可以考虑修改Docker服务epst的端口配置,避开5123端口,但优先找到根源解决会更稳妥。

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

火山引擎 最新活动