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

相关推荐
布鲁飞丝21 小时前
vivo Pulsar 万亿级消息处理实践()-Ansible运维部署
运维·ansible
XR12345678821 小时前
企业全光网络架构选型技术白皮书:从物理层到运维层的全链路分析
运维·网络·架构
HiDev_21 小时前
【非标自动化】2、认识元器件(直线模组)
运维·自动化
龙仔7251 天前
人大金仓 KingbaseES V8 只读账号创建完整运维笔记
运维·笔记·sql·人大金仓
我不管我就要叫小猪1 天前
嵌入式Linux----网络通信
linux·运维·服务器
江湖有缘1 天前
Docker实战 :使用Docker部署OneTerm堡垒机
运维·docker·容器
姜太小白1 天前
【Linux】df -h 卡住问题的通用排查与解决方案总结
linux·运维·php
张忠琳1 天前
【NPU】Ascend Docker Runtime v26.0.1 之二 runtime/process/process.go — 超深度逐行分析
云原生·容器·架构·kubernetes·npu·docker-runtime
fengyehongWorld1 天前
Linux 终端快捷键
linux·运维
看昭奚恤哭1 天前
平滑加权轮询负载均衡的底层逻辑
运维·负载均衡