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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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 操作

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 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/