Portracker : 一个让你告别端口冲突烦恼的神器

a year ago

搞过 Docker 的小伙伴们应该都有过这样的经历:

兴冲冲地想部署个新服务,结果一跑就报错"端口被占用"。然后就开始各种 docker psnetstat -tulpn,满屏幕找哪个端口被谁占了。

今天给大家推荐一个工具 - Portracker,专门解决这个痛点的。

什么是 Portracker?

Portracker 是一个自建的端口监控工具,简单来说就是帮你实时监控系统上所有运行的服务和端口使用情况。

它最大的亮点是自动发现,不需要你手动录入任何信息,部署完就能看到整个系统的端口地图。

核心功能

  • 自动端口发现:扫描系统找出所有运行的服务,不用你手动记录
  • Docker 深度集成:能识别 Docker 容器信息,显示容器名、镜像等详细信息
  • 多服务器监控:可以把多台服务器的 Portracker 连起来,在一个界面管理所有设备
  • 轻量级设计:单进程运行,内置 SQLite 数据库,不需要额外的数据库服务
  • 现代化界面:支持亮色/暗色主题,响应式设计,手机上也能用

https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.portracker

如何使用

应用安装后,一开始要扫描数据,打开就是主页面

image.png

如果容器越多,花的时间的会越久,左侧可以看到我微服上用了35个端口

image.png

顶部的系统信息区域显示:

CPU 型号和频率:帮助识别服务器性能 内存使用情况:监控资源占用 运行时间:了解系统稳定性

image.png

界面支持实时过滤: 可以按端口号、服务名过滤 支持多种显示模式(列表、网格、表格)

image.png

左下角的Add Server可以添加其他服务器

image.png

点击system,可以看到具体哪些port

image.png

端口 5353:这个通常是 mDNS 服务(苹果的 Bonjour 或 Linux 的 Avahi),用于局域网设备发现 端口 5500:可能是 VNC 服务器或其他远程桌面服务 端口 53:DNS 服务,但绑定在不同的 IP 地址上

这些都是系统级服务,Portracker 无法自动识别它们的具体用途,所以显示为 "unknown" image.png

不过重点不是识别服务名称,而是清楚知道哪些端口被占用了 部署新服务时,看到红点就知道这个端口不能用

总结

Portracker 是一个很实用的工具,特别适合:需要管理多台服务器的进阶用户,经常遇到端口冲突的 Docker 用户

虽然功能相对专一,但正是这种专注让它在端口监控这个领域做得很出色。

如果你也被端口管理问题困扰过,不妨试试这个工具。

作者
天天