前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何判断进程是在哪个容器中运行的?

如何判断进程是在哪个容器中运行的?

作者头像
Jumbo
发布2022-02-25 10:33:40
4.5K0
发布2022-02-25 10:33:40
举报
文章被收录于专栏:中国白客联盟中国白客联盟

在某些情况下,可能在宿主机上存在“看得到却摸不到”的进程;有的时候容器太多,想知道进程具体是哪个容器运行的?我们来尝试下:

首先在容器中的test目录下运行sleep 10000

在宿主机ps能看到对应的进程

看对应的proc下的cwd,也确实和容器中的路径一样,在/test目录下,但是宿主机实际上并没有这个路径

大概率可以判断这个进程不是在宿主机上的,可以通过如下这个命令判断命令是否是在容器中执行的:

ps -e -o pid,cmd,comm,cgroup

可以看到pid为29656的cgroup是在docker里,且docker-xxxx,xxxx就是docker的id,也就是:

bf85501b3084601ba76b8cb303917134d58b5e7783c14c1636ff1c56a3d83c1f

或者cat对应的进程cgroup也可以:

cat /proc/xxxx/cgroup

和我们执行的sleep命令的容器一致:

因此可以得出结论,pid为29656的进程是在

bf85501b3084601ba76b8cb303917134d58b5e7783c14c1636ff1c56a3d83c1f容器里执行的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 中国白客联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档