Docker 容器内查看进程的方法

阅读时长 4 分钟读完

在使用 Docker 运行应用时,经常需要查看容器内的进程情况。本文将介绍几种常用的方式来查看 Docker 容器内的进程。

方式一:docker top

Docker 提供了一个 docker top 命令,可以查看容器内的进程和进程 ID。

其中 CONTAINER 为容器名称或 ID, ps OPTIONS 为可选,指定了用于过滤进程的参数。

例如,查看名为 mycontainer 的容器内的所有进程:

如下所示,命令输出了容器内的进程信息:

方式二:docker exec

另一种常见的查看容器内进程的方式是使用 docker exec 命令。该命令可以在运行的容器内部执行命令。

其中,OPTIONS 可选,指定了一些选项,例如 -i, -t 等; CONTAINER 为容器名称或 ID, COMMANDARG 为需要执行的命令。

例如,查看名为 mycontainer 的容器内进程,可以在容器内执行 ps 命令:

如下所示,命令输出了容器内的进程信息:

方式三:attach

使用 docker attach 命令也可以查看 Docker 容器内的进程,该命令可以接入正在运行的容器并查看容器内的进程活动情况。

其中,OPTIONS 可选,指定了一些选项,例如 -i, -t 等;CONTAINER 为容器的名称或 ID。

例如,查看名为 mycontainer 的容器内进程,执行如下命令:

容器将进入交互模式,此时可以输入各种命令来查看进程情况:

但是需要注意的是,使用 docker attach 命令后,终端窗口处于容器内部的交互模式,使用 control + c 是无法退出容器的,需要使用 control + p 和 control + q 来退出容器的交互模式。

总结

本文介绍了在 Docker 容器内查看进程的三种方式,这些方式非常有用,特别是在排查容器内部问题时,能够快速查看进程和资源的使用情况。在实践时,应根据具体情况选择合适的方式。

参考代码

以下示例为 Node.js 应用在 Docker 容器内的运行方式:

-- -------------------- ---- -------
- ---------- --
---- -----------
--- - ----
------- ----
--- --- -------
--- ---- ------

- -- ------ --
------ ----- -- ----- -

- -- ------ --
------ --- -- ------ ----------- -----

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6451b73e675af4061b57ed4f

纠错
反馈