如何从ecs的pid定位到运行该进程的docker

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介:

例如,top显示存在如下进程:
5400 nobody 20 0 73260 30620 2284 S 8.3 0.4 0:20.63 nginx
对于这样一个进程,我们如何快速定位到它是运行于哪一个docker中呢 (特别是当ecs上运行了超过10个
docker的时候)?

先通过
$ pstree -p | grep -n5 5400
找到它的最上层的父进程pid:
...
114- | |-my_init(5248)-+-nginx(5398)-+-nginx(5399)
115: | | | |-nginx(5400)
116- | | | |-nginx(5401)
...
得到父进程pid=5248, 然后遍历所有容器的init进程进行匹配:
$ docker ps | awk '{print $1}' | grep -v CONTAINER | xargs docker inspect -f '{{.State.Pid}} {{.Config.Hostname}}' | grep 5248
5248 bd939dc98684
利用上面输出的container id,
$ docker ps | grep bd939dc98684
即可得到该容器的其余关键信息。

参考资料: http://blog.maxcnunes.net/2014/10/19/finding-out-to-which-docker-container-a-process-belongs-to/

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
23天前
|
安全 Linux Nacos
使用Docker运行Nacos并安装cpolar内网穿透工具实现远程访问
使用Docker运行Nacos并安装cpolar内网穿透工具实现远程访问
|
1月前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
3天前
|
网络协议
​LabVIEW从另一个VI或通过VI服务器访问正在运行的可执行文件
​LabVIEW从另一个VI或通过VI服务器访问正在运行的可执行文件
|
1月前
|
SQL 关系型数据库 MySQL
服务器运行一段时间后
【4月更文挑战第1天】服务器运行一段时间后 需要清除日志
288 10
|
2天前
|
NoSQL Redis Docker
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
13 0
|
8天前
|
监控 Linux Shell
|
14天前
|
存储 安全 网络协议
游戏服务器:构建与运行的艺术
游戏服务器:构建与运行的艺术
24 1
|
15天前
|
运维 监控 Linux
【专栏】Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用
【4月更文挑战第28天】本文介绍了Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用。通过基础和高级用法示例,如列出所有容器、搜索特定镜像、监控资源使用等,帮助读者理解和提升容器管理效率。对于Linux运维工程师,掌握`docker ps`是必备技能。
|
23天前
|
存储 监控 安全
什么情况下物理服务器会运行出错?
物理服务器,也称为裸机服务器,一般可以提供高性能计算水平和巨大的存储容量。然而,它们也难免会遇到一些问题。运行出错时,可能会导致停机和数据丢失。
31 15
|
24天前
|
Docker 容器
docker 常用指令(启动,关闭,查看运行状态)
docker 常用指令(启动,关闭,查看运行状态)
18 1