返回列表 发布新帖

[玩法教程] 端口排查秘籍:SSH 命令 + DockPorts容器双玩法

1828 8
发表于 2026-1-24 13:03:15 | 查看全部 阅读模式 IP:–湖南

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 夏夏子 于 2026-2-6 15:14 编辑

众所周知,我们部署容器的时候有一个常见错误就是端口被占用了。那我们如何查看端口是否被占用,以及是被哪个进程占用的呢?一共有两种方法,一是使用ssh命令,二是通过dockports容器

下面我们来具体看看。

ssh命令

先sudo su进入root权限。不会的可以查看我的另一篇帖子:小白必看:绿联开启 SSH + 远程连接全步骤


一、docker端口

1、查看所有运行容器的端口映射情况:
  1. docker ps --format "table {{.Names}}\t{{.Ports}}"
复制代码
port-01.png
如果需要包含停止的容器,只需加 -a 参数:
  1. docker ps -a --format "table {{.Names}}\t{{.Ports}}"
复制代码

2、查看单个容器的详细端口配置:
  1. docker inspect <容器名/容器ID> | grep -i "port"
复制代码

比如查看qb容器的:
  1. docker inspect qB | grep -i "port"
复制代码

port-04.png

容器名可以在绿联docker容器那里获取,容器id的获取方法
1)使用容器管理器docker:dc
port-02.png

2)使用docker ps命令
port-03.png

二、宿主机端口

1、ss -tulnp  是查看所有 TCP/UDP 监听端口并关联占用进程的命令,注意此命令需要root权限。

其中-tulnp参数的含义为:
  • t: 仅显示 TCP 协议 的端口 / 连接
  • u: 仅显示 UDP 协议 的端口 / 连接
  • l: 仅显示 处于监听状态 的端口
  • a: 显示所有连接 / 监听端口
  • n: 以纯数字显示 IP 地址和端口(不解析域名 / 服务名)
  • p: 显示占用端口的进程名 + PID

port-05.png

2、查看特定端口的占用进程,比如9999端口:
  1. ss -tulnp | grep "9999"
复制代码

port-06.png

3、如果需要按端口号排序的话,可以使用sort命令:
- 从小到大:  ss -tulnp | sort -k 4 -t ':'
- 从大到小:  ss -tulnp | sort -k 4 -t ':' -r

4、也可以使用netstat命令,但是需要安装net-tools包。他的使用和ss命令差不多,比如:
  1. netstat -tulpn | grep "9999"
复制代码
port-07.png


dockports容器

项目地址:https://github.com/coracoo/DockPorts

compose部署:

  1. services:
  2.   dockports:
  3.     image: crpi-xg6dfmt5h2etc7hg.cn-hangzhou.personal.cr.aliyuncs.com/cherry4nas/dockports:latest  # 国内用户推荐
  4.     # image: ghcr.io/coracoo/dockports:latest  # 官方推荐,全球访问
  5.     container_name: dockports
  6.     restart: unless-stopped
  7.     network_mode: host
  8.     volumes:
  9.       - /var/run/docker.sock:/var/run/docker.sock:ro
  10.       - ./config:/app/config
  11.     environment:
  12.       - DOCKPORTS_PORT=7577  # 可修改此端口以避免冲突
复制代码

使用绿联IP:端口进入网页,可以查看所有端口情况。

port-08.png

如果是使用bridge网络模式的话,端口数量会少一部分,因此还是建议用host网络。至于host网络下的快捷访问,把端口数填写环境变量DOCKPORTS_PORT的值即可。比如我的端口是17577。

port-09.png






评论8

小瑞的大吉Lv.1 发表于 2026-1-24 16:54:29 | 查看全部 IP:–浙江–绍兴
反馈下,按照上文部署了dockports容器,但是不能正确识别docker容器,docker容器那边显示0,好多端口都显示未知服务。
小瑞的大吉Lv.1 发表于 2026-1-24 17:27:26 | 查看全部 IP:–浙江–绍兴
我又用brigde模式测试了一下,已使用端口只有3个了,那还是用host吧!
夏夏子楼主Lv.7绿联NAS社区会员用户 发表于 2026-1-26 08:46:05 | 查看全部 IP:–湖南
小瑞的大吉 发表于 2026-1-24 17:27
我又用brigde模式测试了一下,已使用端口只有3个了,那还是用host吧!

bridge数量是少点的,我也试了哈哈哈哈,所以也说明了
夏夏子楼主Lv.7绿联NAS社区会员用户 发表于 2026-1-26 08:47:06 | 查看全部 IP:–湖南
小瑞的大吉 发表于 2026-1-24 16:54
反馈下,按照上文部署了dockports容器,但是不能正确识别docker容器,docker容器那边显示0,好多端口都显示 ...

我看我的大多数能显示服务呀。
大学心情Lv.1绿联NAS社区会员用户 发表于 2026-1-26 16:22:43 | 查看全部 IP:–江苏–苏州
大佬,完美
EaWIJfLv.1 发表于 2026-1-28 14:29:43 | 查看全部 IP:–海南–海口
要是绿联能把这功能做进自带的docker应用里就好了,应该不难吧,都能显示快捷链接了,再检测一下docker compose里的配置,实现部署的时候提示端口是否被占用,或是在docker compose的编辑界面提示端口占用,体验会好很多。
夏夏子楼主Lv.7绿联NAS社区会员用户 发表于 2026-1-28 16:34:44 | 查看全部 IP:–湖南
EaWIJf 发表于 2026-1-28 14:29
要是绿联能把这功能做进自带的docker应用里就好了,应该不难吧,都能显示快捷链接了,再检测一下docker com ...

你可以提个需求~
逗猫Lv.1绿联NAS社区会员用户 发表于 2026-2-27 14:28:50 | 查看全部 IP:–河北–衡水
厉害啊

评论

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2026 绿联NAS私有云社区 版权所有 All Rights Reserved. 粤公网安备44030002002555号| 粤ICP备12028978号
关灯 在本版发帖
联系技术支持
返回顶部
快速回复 返回顶部 返回列表