docker容器进程探究

在工作中,总是遇到一些端口被占用,然后我们还不知道被那个进程占用的情况,然后今天我就整合了一套可以查询出到底是那个进程占用了端口的流程

第一步:执行netststat命令,查看占用端口的进程号

bash 复制代码
netstat -nplt|grep 8064

得到的结果中包含进程号,截图如下图所示:

第二步:执行命令,查看进程的启动目录

bash 复制代码
pwdx 30816

得到的结果如下图

得到的结果是/"app",然后我们使用cd命令进入目录,如下图所示:

得到的结果居然是系统没有这个目录存在,这个就是代表进程号为30816的进程不是正常启动进程,是容器进程,那我们就得通过其他方式找到容器的启动目录了

第三步:查看进程信息

cat /proc/pid/cmdline --进程的启动命令

cat /proc/pid/cgroup ---非容器进程,则无映射关系

分别执行这两个步骤,我们得到进程的相关信息,如下图所示:

cmdline得到进程是一个java启动的容器服务,cgroop得到容器的映射关系,以及容器的CONTAINER ID,由此,我们可以继续查看容器的相关配置信息

第四步:查看容器的配置,获取关键信息

docker inspect CONTAINER ID ----得到容器的详细配置信息

bash 复制代码
docker inspect 2348f54b99c4b|grep Source

得到的详细配置信息中, 我们检索出关键词Source,得到了容器的启动目录以及启动日志的查看目录,到此我们就得到了的占用端口号的进程的基本启动和相关目录数据

相关推荐
zzzyyy53837 分钟前
Linux之缓冲区
linux·运维·服务器
weixin_377634841 小时前
【MinerU】 Docker Compose 使用
docker·容器·mineru
liann1191 小时前
3.4_Linux 应急响应排查速查命令表
linux·运维·服务器·安全·网络安全·系统安全
孪生质数-1 小时前
Linux高危漏洞通报Copy Fail - CVE-2026-31431
linux·运维·服务器·ubuntu·网络安全·debian·cve-2026-31431
IMPYLH1 小时前
Linux 的 tee 命令
linux·运维·服务器·bash
庚昀◟1 小时前
腾讯云 CVM + Docker + Jenkins + GitLab CI/CD 全流程指南(python、flask实现简单计算器)
python·ci/cd·docker·flask·jenkins
pc07931 小时前
带网络接口的打印机和USB接口打印机的共享区别
运维·服务器·网络
理人综艺好会2 小时前
nginx了解
运维·nginx
PH = 72 小时前
K8S集群的搭建
云原生·容器·kubernetes
雷工笔记2 小时前
KingFusion|最近开发调试中遇到的几个问题及解决办法(2)
运维·服务器