当前位置: 首页 > news >正文

Docker应用端口查看器docker-port-viewer

在这里插入图片描述

简介

什么是 Docker Port Viewer ?

Docker Port Viewer 是一个现代的 web 应用程序,旨在查看并与 Docker 容器的端口互动。它使用 TypeScriptReactMaterial-UI 构建,提供用户友好的界面来管理和访问 Docker 容器。

主要特点

  1. 查看运行中的 Docker 容器
    • 显示所有正在运行的 Docker 容器及其暴露的端口。
  2. 搜索功能
    • 允许根据容器名称搜索容器。
  3. 排序选项
    • 可以按名称或创建日期对容器进行排序。
  4. 容器详细信息
    • 提供容器名称、镜像名称、状态、启动时间和暴露的端口等信息。
  5. 直接访问容器的 web 界面
    • 通过内置的 iframe 查看器或新标签选项进行访问。
    • 支持可自定义的主机名来访问容器。
  6. 安全集成
    • 使用 Docker socket 代理(如 tecnativa/docker-socket-proxy)确保安全访问 Docker API,限制操作权限。
  7. 响应式设计
    • 采用 Material-UI 设计,适配各种设备。

应用场合

  • 开发环境:开发人员可以使用此工具快速查看和管理本地 Docker 容器。
  • 测试:在测试阶段,方便地访问和监控运行的服务。
  • 教育与培训:作为学习 Docker 和容器管理的工具,帮助用户理解容器的工作原理。
  • 生产监控:在生产环境中,提供对运行容器的可视化管理,便于运维人员快速响应问题。

Docker Port Viewer 是一个非常实用的工具,适用于需要管理多个 Docker 容器的场景。

安装

在群晖上以 Docker 方式安装。

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

services:# Docker socket proxy for securitydocker-socket:image: tecnativa/docker-socket-proxycontainer_name: docker-socket-proxyenvironment:- CONTAINERS=1- POST=0- PUT=0- DELETE=0volumes:- /var/run/docker.sock:/var/run/docker.sock:ro# Main applicationdocker-port-viewer:image: hollowpnt/docker-port-viewer:latestcontainer_name: docker-port-viewerports:- "3003:80"

关于环境变量的简单说明

可变
CONTAINERS设为 1,表示仅允许容器列表
POST设为 0, 表示禁用 POST 操作
PUT设为 0,表示禁用 PUT 操作
DELETE设为 0, 表示禁用 DELETE 操作

然后执行下面的命令

# 新建文件夹 dpv 
mkdir -p /volume1/docker/dpv# 进入 dpv 目录
cd /volume1/docker/dpv# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3003 就能看到主界面

需要将 Hostnamelocalhost 改为主机的 IP

否则访问链接会空白打不开

支持按容器名称进行搜索

参考文档

hollowpnt92/docker-port-viewer
地址:https://github.com/hollowpnt92/docker-port-viewer

Docker Port Viewer v0.1 - self hosted front end for Docker-Socket-Proxy : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1jwudrx/docker_port_viewer_v01_self_hosted_front_end_for/

相关文章:

  • 基于springboot的老年医疗保健系统
  • HTML5 应用程序缓存:原理、实践与演进
  • 【Vue】模板语法与指令
  • 图灵奖得主LeCun:DeepSeek开源在产品层是一种竞争,但在基础方法层更像是一种合作;新一代AI将情感化
  • 【Linux】线程ID、线程管理、与线程互斥
  • 【概率论】条件期望
  • rebase和merge的区别
  • 【图片识别改名工具】图片文件区域OCR识别并自动重命名,批量识别指定区域根据指定识别文字批量改名,基于WPF和阿里云的技术方式实现
  • Ethan独立开发产品日报 | 2025-04-18
  • 汽车故障诊断工作原理:从需求到AUTOSAR诊断模块协作的浅析
  • Android 热点二维码简单示例
  • 0801ajax_mock-网络ajax请求1-react-仿低代码平台项目
  • 论文阅读:2024 ICLR Workshop. A STRONGREJECT for Empty Jailbreaks
  • 每日两道leetcode
  • SRS流媒体服务器
  • 学习笔记十八——Rust 封装
  • 【UniApp】Vue2 scss 预编译器默认已由 node-sass 更换为 dart-sass
  • NFC碰一碰发视频系统OEM定制,源码搭建注意事项
  • 【FreeRTOS进阶】优先级翻转现象详解及解决方案
  • React-useRef
  • 影子调查丨义门陈遗址建筑被“没收”风波
  • 鲁比奥称“美或退出俄乌谈判”,欧洲官员:为了施压乌克兰
  • 《王牌对王牌》确认回归,“奔跑吧”将有主题乐园
  • 中签不易,住宿更难,马拉松赛事期间酒店涨价难题如何解决?
  • 别把癌症当鼻炎,爱吃这类食物的人,尤其要警惕
  • 杨小伟被查,国家广播电视总局党组:坚决拥护党中央决定