在主机操作系统上,Docker容器中的进程是否会显示为相同的进程?
我在Macbook上运行Docker
的Mongo容器。 为了显示特定容器中的进程,我们使用TOP
命令,如下所示。
从Udemy上的一些教程video中,演讲者表示上图中PID
3238所示的过程在主机中显示为过程,并通过命令ps aux
。
但是,我找不到在我的主机进程列表下的PID
3238进程。 想知道是我错误地设置了Docker还是错过了一些东西?
默认情况下, Docker container
与主机操作系统有不同的PID名称空间。
为了与主机操作系统共享PID命名空间,您应该使用host pid mode
。
例如,
$ docker run --rm --pid=host -it ubuntu:16.04 top
该命令显示主机操作系统的所有进程(包括container
的top
进程),还可以在container
的top
进程和主机操作系统中的top
进程之间find相同的PID。
docker工人在这里 。