1、Portracker简介
Portracker 是一款 MIT 协议开源、自托管的实时端口监控与服务发现工具,由 Mostafa Wahied 开发,采用 Node.js+React 技术栈,内置 SQLite 数据库,以单一进程运行,无需外部依赖,可自动扫描主机服务端口、区分容器内外端口,支持 Docker/TrueNAS 集成与多实例对等监控,适合 DevOps 与运维团队统一管理基础设施端口,规避冲突、提升网络可视化能力。
2、核心功能
自动端口发现与映射:实时扫描主机系统,识别运行服务及监听端口,生成网络端口映射图,无需手动录入,规避端口冲突导致的部署失败。
平台专用收集器:内置 Docker 收集器,区分容器内部端口与主机发布端口,掌握容器化服务暴露情况;支持 TrueNAS API 集成,自动发现虚拟机并获取 OS 版本、运行时长等系统信息。
对等监控与分组:可添加多个 Portracker 实例为对等节点,通过单一仪表盘集中管理跨服务器、容器、虚拟机的端口;支持父子结构分组,适配虚拟机与物理主机等嵌套场景。
可视化管理与数据展示:响应式 Web 仪表盘,支持明 / 暗色模式、实时过滤,提供列表 / 网格 / 表格等多视图,便于快速检索与管理端口信息。
轻量无依赖部署:单进程运行,内置 SQLite 数据库,无需 PostgreSQL、Redis 等外部依赖,部署与维护成本低。
3、拉取portracker镜像
bash
docker pull mostafawahied/portracker:latest
# x86架构
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/portracker:latest
# arm架构
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_portracker:latest
4、创建数据目录
bash
mkdir -p /data/portracker
chmod 777 /data/portracker
编辑docker-compose.yaml文件
bash
version: '3.8'
services:
portracker:
image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/portracker:latest
container_name: portracker
restart: unless-stopped
pid: host
cap_add:
- SYS_PTRACE
- SYS_ADMIN
security_opt:
- apparmor:unconfined
volumes:
- /data/portracker/portracker-data:/data
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "32086:4999"
启动portracker容器
bash
cd /data/portracker/
docker-compose up -d
docker-compose ps
docker logs -f portracker
Docker Run 命令
bash
docker run -d \
--name portracker \
--restart unless-stopped \
--pid host \
--cap-add SYS_PTRACE \
--cap-add SYS_ADMIN \
--security-opt apparmor:unconfined \
-v /data/portracker/portracker-data:/data \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 32086:4999 \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/portracker:latest
浏览器访问: http://172.16.112.115:32086
Portracker是一款轻量级、自包含的网络服务发现与监控工具,通过自动扫描系统服务,实时生成准确的网络端口地图,帮助用户消除手动跟踪的繁琐,避免因端口冲突导致的部署问题,特别适用于服务器、容器和虚拟机环境的统一可视化管理。