docker部署Portracker 实现局域网实时端口监控

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是一款轻量级、自包含的网络服务发现与监控工具,通过自动扫描系统服务,实时生成准确的网络端口地图,帮助用户消除手动跟踪的繁琐,避免因端口冲突导致的部署问题,特别适用于服务器、容器和虚拟机环境的统一可视化管理。‌

相关推荐
70asunflower1 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
ShiLiu_mtx2 小时前
k8s - 7
云原生·容器·kubernetes
春日见2 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
xuhe22 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
星火s漫天3 小时前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask
MonkeyKing_sunyuhua5 小时前
docker compose up -d --build 完全使用新代码打包的方法
docker·容器·eureka
醇氧5 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器
技术路上的探险家6 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker
70asunflower9 小时前
用Docker创建不同的容器类型
运维·docker·容器
小Pawn爷10 小时前
3.Dockerfile
docker