作者:可爱的小 cherry
宝子们,宠粉 cherry 来了。今天,我用 TRAE 写了一个简单的 docker 端口查询工具。
通过映射 host 网络,将 NAS 上的所有在用端口进行整理,并且按照宿主机在用、Docker 在用进行分类展示。
主要的目的,是因为我是个强迫症,所以喜欢记录端口。但是时间久了,端口用久了,就很麻烦。
其次呢,是为了增加记录能力,方便我随时找到我对应容器的端口。
买了一个月的 Trae 会员,3 刀啊 3 刀!!小伙伴们还不快快珍惜,过期我就不买了(误)~
测试用的 debian 服务器,都是部署在极空间上的,性能还是 YYDS~~
部署代码
# 使用默认端口 7577
docker run -d
--name dockports
--network host
-v /var/run/docker.sock:/var/run/docker.sock:ro
-v ./config:/app/config
crpi-xg6dfmt5h2etc7hg-hangzhou.personal.cr.aliyuncs/cherry4nas/dockports:latest
compose 部署
version: '3.8'
services:
dockports:
image: crpi-xg6dfmt5h2etc7hg-hangzhou.personal.cr.aliyuncs/cherry4nas/dockports:latest
container_name: dockports
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./config:/app/config
environment:
- DOCKPORTS_PORT=7577 # 可修改此端口以避免冲突
restart: unless-stopped
首先上,支持按照全部、宿主机(NAS)、容器、未使用、隐藏等五种渠道来展示端口,每种展示页面都有卡片和列表两种形式。
卡片型
列表型
这里具体介绍一下卡片型,我个人比较喜欢这种精简的模式。
PS。不支持 macvlan、ipvlan 等特殊网络,host 的话得 expose 出来才可以,通过命令行修改的下个版本优化)
比如 7577 端口,采用 host 网络模式,容器名是 dockports,采用 TCP 协议。
比如 7674,采用 bridge 网络模式,容器名是 tools-vaultwarden,容器内部映射端口是 80/tcp。
切换到宿主机模式,这里我有一批常见的端口名单。系统会自动匹配常见服务的默认端口,并且增加上去。
点击右上角设置,可以修改这个配置文件。
也可以修改 NAS 里的 `/path/dockports/config/config.json` 这个配置文件。
在未知服务左下角,有一个添加端口的按钮,点击后可以将该端口对应的服务添加到配置文件里,成为确定的服务。
为了让界面更简洁,有一些连续的 UDP/TCP 端口,我进行了整合,格式为【初始端口 : 往后 X 个】。
比如【19996:3】,表示 19996、19997、19998 三个端口。
比如【21115:5】,表示 21115、21116、21117、21118、21119 五个端口。没错,是 rustdesk 的,这个还在想办法处理。
有一些端口,如果想隐藏的,可以点击卡片右小角的隐藏按钮。这样我们就只能在已隐藏下看到了,方便我们整理端口。
最后,是检索栏。支持端口、服务名等多种渠道进行端口检索。
大致上,这个简单的容器就是这么个功能。
当然并不完善,还有很多细节,比如高位 UDP 是否显示、TCP/UDP 区分可用端口、HOST 网络容器优化、Macvlan 单独展示等等。以及自定义启动端口还有 BUG。
反正等我有空我会慢慢补坑的,且用且玩吧 ~~
最后,分享一波我的 github 项目。
1️⃣中文 docker 项目集成项目
github/coracoo/awesome_docker_cn
2️⃣ docker 转 compose(新版本增加了 Web 服务)
github/coracoo/docker2compose
3️⃣容器部署 iSCSI,支持绿联极空间飞牛
github/coracoo/d-tgtadm/
4️⃣容器端口检查工具
github/coracoo/DockPorts/
登录后才可以发布评论哦
打开小程序可以发布评论哦