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,得到了容器的启动目录以及启动日志的查看目录,到此我们就得到了的占用端口号的进程的基本启动和相关目录数据

相关推荐
大强同学2 小时前
Obsidian 日记:从模板到 Dataview 自动化
运维·自动化
陌陌卡上2 小时前
我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版)
运维·k8s·系统·debian11
❀͜͡傀儡师2 小时前
ShadowBroker:实时全球情报地图,开源情报(OSINT)的终极聚合平台
docker·容器·llama
kcuwu.3 小时前
从0到1:VMware搭建CentOS并通过FinalShell玩转Linux命令
linux·运维·centos
.柒宇.3 小时前
MySQL双主同步
linux·数据库·mysql·docker
格林威3 小时前
AI视觉检测:INT8 量化对工业视觉检测精度的影响
linux·运维·人工智能·数码相机·计算机视觉·视觉检测·工业相机
万山寒3 小时前
linux日志查询,查找某个关键词后面的内容
linux·运维·服务器
房开民3 小时前
ubuntu中安装claude code
linux·运维·ubuntu
Bert.Cai3 小时前
Linux mv命令详解
linux·运维