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 文件

yaml 复制代码
services:
  # Docker socket proxy for security
  docker-socket:
    image: tecnativa/docker-socket-proxy
    container_name: docker-socket-proxy
    environment:
      - CONTAINERS=1
      - POST=0
      - PUT=0
      - DELETE=0
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

  # Main application
  docker-port-viewer:
    image: hollowpnt/docker-port-viewer:latest
    container_name: docker-port-viewer
    ports:
      - "3003:80"

关于环境变量的简单说明

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

然后执行下面的命令

bash 复制代码
# 新建文件夹 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/

相关推荐
yzx9910131 小时前
服务器生成图片
运维·服务器
小阳睡不醒5 小时前
小白成长之路-部署Zabbix7(二)
android·运维
杰克逊的日记5 小时前
GPU运维常见问题处理
linux·运维·gpu
caolib5 小时前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
奇舞精选5 小时前
k8s基本概念初探
运维
誰能久伴不乏6 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔6 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
-SGlow-7 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw7 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
Dreams_l7 小时前
网络编程2(应用层协议,传输层协议)
运维·服务器·网络