[英]Why does running top inside docker container only show processes inside the container?
我在Docker容器中运行顶部,我发现显示的唯一进程是用于运行容器和顶部的初始进程。 为什么它显示这个而不是在docker主机上显示其他进程?
为了理解为什么会发生这种情况,您需要了解Docker正在利用的Linux的基本概念。
Linux内核中有一个名为namespaces
功能,它以一组进程看到一组资源的方式分区/隔离主机资源,而另一组进程看到另一组资源。
Linux有7种类型的命名空间:
当您在Linux机器上工作时,您所做的一切都在同一名称空间中,但是当您通过默认情况下docker run
创建容器时,它将创建一个新的单独名称空间以将容器与主机隔离。
在您的问题的特定情况下,您只看到一个进程正在运行,因为容器与主机位于不同的PID命名空间中。
在创建容器时,可以通过使用--pid="host"
告诉Docker共享相同的PID命名空间,在某些情况下这样做很有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.